<properties resource="jdbc.properties"/>
MyBatis是一个自定义的SQL支持一流的持久性框架,存储过程和先进的映射。MyBatis消除了几乎所有的JDBC代码和参数的手动设置和检索结果。
1 SqlSessionFactory
这是一个核心类,这是程序运行入口String resource = "org/mybatis/example/mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSessionFactory对象由SqlSessionFactoryBuilder创建
1
在项目的类路径下面建立jdbc.properties文件,这样我们可以通过配置文件来管理我们的数据库的连接,这样比较方便,这里面也使用了log4j
log4j.rootLogger=info,appender1,appender2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender2=org.apache.log4j.FileAppender
log4j.appender.appender2.File=D:/logFile.txt
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout
2 在项目的类路径下面建立mybatis-config.xml文件,下面详解一下mybatis文件
<properties resource="jdbc.properties"/>
这是引入jdbc文件
<typeAliases> <package name="com.yht.pojo"/> </typeAliases>
这是扫描这个包下面的pojo类,这样主要是方便我们在别的地方使用这个pojo类时候,不用指定全称,比如这个pojo类为com.yht.Student,那么在对应的映射文件只需要Student,也就是方言
<environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource>
</environment>
这就是对jdbc.properties的使用里面的属性
<mappers> <package name="com.yht.dao"/> </mappers> 这是对映射文件xml的扫描,这样我们不需要对每个文件进行配置,只要配置在这个包下面,就可以扫描到
3 新建一个表student(id,name,age三个字段)
4 新建Student类包含三个属性 id,name,age
5 新建一个接口StudentDao
6 新建一个StudentDao.xml文件,对应StudentDao类,下面详解一下StudentDao.xml文件
<mapper namespace="com.yht.dao.StudentDao">
这是对应StudentDao接口
<insert id="addStudent" parameterType="Student" > insert into student values(null,#{name},#{age}) </insert>
这个是对应StudentDao接口的定义方法,id必须和接口中定义的方法一致,parameterType是传入的参数
7测试
public SqlSessionFactory getSessionFactory(){ if(factory==null){ try{ InputStream input=this.getClass().getResourceAsStream("/mybatis-config.xml"); factory=new SqlSessionFactoryBuilder().build(input); }catch(Exception e){ e.printStackTrace(); } } return factory; }
这个是获取SqlSessionFactory方法
1 public SqlSession getSqlSession (){ 2 return getSessionFactory().openSession(); 3}
这个是得到SqlSession对象
1 SqlSession session=new SqlSessionUtil().getSqlSession(); 2 Student s=new Student(); 3 s.setName("王五"); 4 s.setAge(12); 5 StudentDao dao=session.getMapper(StudentDao.class); 6 dao.addStudent(s); 7 session.commit(); 8 logger.info("添加用户成功"+s);
这是一个简单对mybatis的操作
原文:http://www.cnblogs.com/yuht-s-learn/p/5008457.html