扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章给大家介绍Mybatis中如何搭建注解式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、外贸营销网站建设、鄄城网络推广、微信小程序、鄄城网络营销、鄄城企业策划、鄄城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供鄄城建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
# 一.Mybatis框架简介
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
在项目的根目录新建lib文件夹,用来存放jar文件
此配置文件主要是用 c3p0连接数据库的信息,修改其中的driverClass(连接驱动)、url、user以及密码。
注意:dirverClass是数据库连接驱动,不同版本,不同数据库连接驱动都不同,我用的是MySQL5.7版本,命名必须是这个,不要问,问就是规定!!
此配置文件主要是日志的打印以及保存,找到
在src根目录下新建一个mybatis-cofig.xml(名字随意)的配置文件
Teacher实体类
package com.hsiao.entiy; import java.util.Date; public class Student { private Long sid; private String sname; private Date sdate; private Long tid; private Teacher tvo; public Student() { super(); // TODO Auto-generated constructor stub } public Student(Long sid, String sname, Date sdate, Long tid, Teacher tvo) { super(); this.sid = sid; this.sname = sname; this.sdate = sdate; this.tid = tid; this.tvo = tvo; } public Long getSid() { return sid; } public void setSid(Long sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public Date getSdate() { return sdate; } public void setSdate(Date sdate) { this.sdate = sdate; } public Long getTid() { return tid; } public void setTid(Long tid) { this.tid = tid; } public Teacher getTvo() { return tvo; } public void setTvo(Teacher tvo) { this.tvo = tvo; } @Override public String toString() { return "Student [sid=" + sid + ", sname=" + sname + ", sdate=" + sdate + ", tid=" + tid + ", tvo=" + tvo + "]"; } }
新建dao包-->新建teacherDao接口
-->在dao包中新建impl包
-->在impl中新建teacherDaoImpl实现teacherDao接口
在factory包中新建一个MybatisSessionFactory工厂类
package com.hsiao.factory; import java.io.InputStream; import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class MybatisSessionFactory { //创建日志追踪器 private static Logger log=LogManager.getLogger(); private static SqlSessionFactory sqlSessionFactory; /** * 加载mybatis-config.xml配置文件 */ static { InputStream ins= MybatisSessionFactory.class.getClass().getResourceAsStream("/mybatis-config.xml"); sqlSessionFactory=new SqlSessionFactoryBuilder().build(ins); } public static SqlSession getSession() { if(sqlSessionFactory==null) { throw new NullPointerException("session 工厂创建失败!"); } //设置BATCH 批处理模式 fasle代表是事务非自动提交 SqlSession session=sqlSessionFactory.openSession(ExecutorType.BATCH,false); return session; } }
public static void main(String...args) { SqlSession session=MybatisSessionFactory.getSession(); log.debug("获取Connection对象"+session.getConnection()); }
测试无异常在进行下一步。
package com.hsiao.dao; import com.hsiao.entiy.Teacher; import java.util.List; public interface TeacherDao { public ListselectAllTeacher(); }
注意:dao层方法的方法名与对象映射文件(TeacherVO.xml)的select标签的id保持一致
package com.hsiao.dao.impl; import com.hsiao.dao.TeacherDao; import com.hsiao.entiy.Teacher; import com.hsiao.factory.MybatisSessionFactory; import org.apache.ibatis.session.SqlSession; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.List; public class TeacherDaoImpl implements TeacherDao { private static Logger log= LogManager.getLogger(); @Override public ListselectAllTeacher() { SqlSession session= MybatisSessionFactory.getSession(); List list= session.selectList("selectAllTeacher"); session.close(); return list; } public static void main(String[] args) { TeacherDaoImpl dao=new TeacherDaoImpl(); List list=dao.selectAllTeacher(); list.forEach((m)->log.debug(m)); } }
关于Mybatis中如何搭建注解式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流