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实体类
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 看看