MyBatis的一些基本认识

    MyBatis是一个持久化框架,支持普通查询,存储过程和高级映射,和JDBC相比,MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索,还有动态语句功能

    现在我记录一下我的MyBatis的环境配置

1.  先导入MyBatis依赖

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.5</version>
</dependency>
2. 再在resoutces目录下新建MyBatis的配置文件我这里写的是configuration.xml

3.新建实体类和映射文件

     3.1实体类

MyBatis的一些基本认识

3.2  映射文件user.xml


那么问题来了  idea里面java核心类里面是不能加载.xml的,就要在pom.xml  build下面写上


4.在MyBatis配置文件里面配置连接数据库的属性和在mapper里面加载映射文件

   6.测试
  6.1  创建会话工程  SQLSessionFactory

SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("configuration.xml"));
6.2 得到sqlsession
SqlSession sqlSession=sqlSessionFactory.openSession();

6.3  根据id得到对象的值

User user=sqlSession.selectOne("user.getuser",2);
 System.out.println(user);
7.如果有dao层就在映射文件里面 <mapper namespace="com.dao.Userdao" dao类的全限定名
  7.1测试 在测试类拿userdao就通过sqlsession.getMapper的这个属性
     Userdao userdao= sqlSession.getMapper(Userdao.class);  得到就点方法就行了
做增删改的提交    sqlSession里面有提交的方法  

sqlSession.commit();
MyBatis还有不用在映射文件里面写增删改查的方法,这种方法就是通过注解的方法
注解里面有增删改查的方法只要在dao接口中写上@Select @Delete @Insert @Update  然后括号里面写上sql语句  
如@Select("select * from user where uid = #{uid}")
然后在配置文件那个加载映射文件哪里改为<mapper class="com.dao.Userdao"></mapper>  加载那个接口
想了解更多可以去  http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html   看看