经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
mybatis学习使用1
来源:cnblogs  作者:海之浪子  时间:2018/10/21 20:30:22  对本文有异议

1、mybatis是一款优秀的持久层框架,使用起来比较简单

 1.1我们首先来看一个小demo,目录结构如下

  

 代码

User.java

  1. package com.rookie.bigdata.domain;
  2. import lombok.Data;
  3. import java.io.Serializable;
  4. /**
  5. * @author
  6. * @date 2018/10/21
  7. */
  8. //Data注解可以省略get和set方法
  9. @Data
  10. public class User implements Serializable{
  11. // 用户标识
  12. private Integer id;
  13. // 用户姓名
  14. private String name;
  15. // 用户性别
  16. private String sex;
  17. // 用户年龄
  18. private Integer age;
  19. public User() {
  20. super();
  21. }
  22. public User( String name, String sex, Integer age) {
  23. super();
  24. this.name = name;
  25. this.sex = sex;
  26. this.age = age;
  27. }
  28. }
View Code

 

UserMapper.java

  1. package com.rookie.bigdata.mapper;
  2. import com.rookie.bigdata.domain.User;
  3. /**
  4. * @author liuxili
  5. * @date 2018/10/21
  6. */
  7. public interface UserMapper {
  8. void save(User user);
  9. }

 

UserMapper.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4.  
  5. <mapper namespace="com.rookie.bigdata.mapper.UserMapper">
  6.  
  7.  
  8. <insert id="save" parameterType="com.rookie.bigdata.domain.User" useGeneratedKeys="true">
  9. INSERT INTO BS_USER(name,sex,age)
  10. VALUES(#{name},#{sex},#{age})
  11. </insert>
  12.  
  13. </mapper>

 

mybatis-config.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <!-- XML 配置文件包含对 MyBatis 系统的核心设置 -->
  6. <configuration>
  7.  
  8. <environments default="mysql">
  9. <!-- 环境配置,即连接的数据库。 -->
  10. <environment id="mysql">
  11. <!-- 指定事务管理类型,type="JDBC"指直接简单使用了JDBC的提交和回滚设置 -->
  12. <transactionManager type="JDBC"/>
  13. <!-- dataSource指数据源配置,POOLED是JDBC连接对象的数据源连接池的实现。 -->
  14. <dataSource type="POOLED">
  15. <property name="driver" value="com.mysql.jdbc.Driver"/>
  16. <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/>
  17. <property name="username" value="root"/>
  18. <property name="password" value="root"/>
  19. </dataSource>
  20. </environment>
  21. </environments>
  22. <!-- mappers告诉了MyBatis去哪里找持久化类的映射文件 -->
  23. <mappers>
  24. <mapper resource="mapper/UserMapper.xml"/>
  25. </mappers>
  26. </configuration>

 

  1. AppTest.java
  1. package com.rookie.bigdata;
  2. import static org.junit.Assert.assertTrue;
  3. import com.rookie.bigdata.domain.User;
  4. import com.rookie.bigdata.mapper.UserMapper;
  5. import org.apache.ibatis.io.Resources;
  6. import org.apache.ibatis.session.SqlSession;
  7. import org.apache.ibatis.session.SqlSessionFactory;
  8. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  9. import org.junit.Test;
  10. import java.io.IOException;
  11. import java.io.InputStream;
  12. /**
  13. * Unit test for simple App.
  14. */
  15.  
  16. public class AppTest {
  17. @Test
  18. public void test1() throws IOException {
  19. // 读取mybatis-config.xml文件
  20. InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  21. // 初始化mybatis,创建SqlSessionFactory类的实例
  22. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
  23. .build(inputStream);
  24. // 创建Session实例
  25. SqlSession session = sqlSessionFactory.openSession();
  26. // 创建User对象
  27. User user = new User("admin", "男", 26);
  28. // 插入数据
  29. UserMapper mapper = session.getMapper(UserMapper.class);
  30. mapper.save(user);
  31. // 提交事务
  32. session.commit();
  33. // 关闭Session
  34. session.close();
  35. }
  36. }

 

主要代码如上,测试即可直接向数据库中插入数据

1.2对于上面的demo,我们来介绍一下mybatis的配置文件结构,如下:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6.  
  7. <properties>
  8. <!--properties属性-->
  9. </properties>
  10.  
  11. <settings>
  12. <!--settings设置-->
  13. </settings>
  14. <typeAliases>
  15. <!--类型别名-->
  16. </typeAliases>
  17. <typeHandlers>
  18. <!--类型处理器-->
  19. </typeHandlers>
  20. <!--对象工厂-->
  21. <objectFactory type="" ></objectFactory>
  22. <plugins>
  23. <!--插件-->
  24. </plugins>
  25. <environments default="mysql">
  26. <!-- 环境配置,即连接的数据库。 -->
  27. <environment id="mysql">
  28. <!-- 指定事务管理类型,type="JDBC"指直接简单使用了JDBC的提交和回滚设置 -->
  29. <transactionManager type="JDBC"/>
  30. <!-- dataSource指数据源配置,POOLED是JDBC连接对象的数据源连接池的实现。 -->
  31. <dataSource type="POOLED">
  32. <property name="driver" value="com.mysql.jdbc.Driver"/>
  33. <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/>
  34. <property name="username" value="root"/>
  35. <property name="password" value="root"/>
  36. </dataSource>
  37. </environment>
  38. </environments>
  39. <!--数据库厂商标志-->
  40. <databaseIdProvider type=""></databaseIdProvider>
  41. <!-- mappers告诉了MyBatis去哪里找持久化类的映射文件 -->
  42. <mappers>
  43. <!--映射器-->
  44. </mappers>
  45. </configuration>

  上面的demo只不过是这个配置文件的简化版本

 对于properties的属性配置,我们可以对上面的demo中的配置做如下更改,

  在classpath下面添加properties文件,如下

  db.properties

  1. driver=com.mysql.jdbc.Driver
  2. url=jdbc:mysql://127.0.0.1:3306/mybatis
  3. username=root
  4. password=root

  mybatis-config.xml更改如下即可

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <!-- XML 配置文件包含对 MyBatis 系统的核心设置 -->
  6. <configuration>
  7.   <properties resource="db.properties">
  8. <environments default="mysql">
  9. <!-- 环境配置,即连接的数据库。 -->
  10. <environment id="mysql">
  11. <!-- 指定事务管理类型,type="JDBC"指直接简单使用了JDBC的提交和回滚设置 -->
  12. <transactionManager type="JDBC"/>
  13. <!-- dataSource指数据源配置,POOLED是JDBC连接对象的数据源连接池的实现。 -->
  14. <dataSource type="POOLED">
  15. <property name="driver" value="${driver}"/>
  16. <property name="url" value="${url}"/>
  17. <property name="username" value="${username}"/>
  18. <property name="password" value="${password}"/>
  19. </dataSource>
  20. </environment>
  21. </environments>
  22. <!-- mappers告诉了MyBatis去哪里找持久化类的映射文件 -->
  23. <mappers>
  24. <mapper resource="mapper/UserMapper.xml"/>
  25. </mappers>
  26. </configuration>

 setting的配置查看官方文档主要如下:

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号