Idea2019搭建Mybatis框架环境demo

电玩女神 2024-04-19 10:55 160阅读 0赞

1、创建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、导入相关依赖

  1. <dependency>
  2. <groupId>junit</groupId>
  3. <artifactId>junit</artifactId>
  4. <version>4.11</version>
  5. <scope>test</scope>
  6. </dependency>
  7. <dependency>
  8. <groupId>junit</groupId>
  9. <artifactId>junit</artifactId>
  10. <version>4.12</version>
  11. <scope>compile</scope>
  12. </dependency>
  13. <dependency>
  14. <groupId>org.mybatis</groupId>
  15. <artifactId>mybatis</artifactId>
  16. <version>3.4.1</version>
  17. </dependency>
  18. <dependency>
  19. <groupId>mysql</groupId>
  20. <artifactId>mysql-connector-java</artifactId>
  21. <version>6.0.6</version>
  22. </dependency>
  23. <dependency>
  24. <groupId>log4j</groupId>
  25. <artifactId>log4j</artifactId>
  26. <version>1.2.17</version>
  27. </dependency>
  28. <dependency>
  29. <groupId>org.slf4j</groupId>
  30. <artifactId>slf4j-log4j12</artifactId>
  31. <version>1.7.25</version>
  32. </dependency>

3、创建实体类(对应数据库的某张表)

  1. package entity;
  2. /**
  3. * 对应数据库Test表的实体类
  4. * @author Xuan
  5. * @date 2019/9/17 15:29
  6. */
  7. public class Test {
  8. private Integer id;
  9. private String name;
  10. public Integer getId() {
  11. return id;
  12. }
  13. public void setId(Integer id) {
  14. this.id = id;
  15. }
  16. public String getName() {
  17. return name;
  18. }
  19. public void setName(String name) {
  20. this.name = name;
  21. }
  22. }

在这里插入图片描述

4、添加相关配置文件(mysql以及mybatis)

1、mybatis的配置文件**(文件名: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. <configuration>
  6. <!-- 加载mysql配置文件-->
  7. <properties resource="mysql.properties"></properties>
  8. <settings>
  9. <!-- 自动映射 -->
  10. <setting name="autoMappingBehavior" value="FULL"/>
  11. </settings>
  12. <typeAliases>
  13. <!-- 别名方式1,一个一个的配置 type中放置的是类的全路径,alias中放置的是类别名
  14. <typeAliase type="com.mybatis.demo.Entity.User" alias="UserBean"/> -->
  15. <!-- 别名方式2,自动扫描,将JAVA类的类名作为类的类别名 -->
  16. <!--<package name="com.mybatis.demo.Entity"/>-->
  17. <typeAlias alias="Test" type="entity.Test"/>
  18. </typeAliases>
  19. <!-- 配置mybatis运行环境 可以配置多套环境 -->
  20. <environments default="development">
  21. <environment id="development">
  22. <!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
  23. <transactionManager type="JDBC"/>
  24. <!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
  25. <!-- POOLED 表示支持JDBC数据源连接池 -->
  26. <!-- UNPOOLED 表示不支持数据源连接池 -->
  27. <!-- JNDI 表示支持外部数据源连接池 -->
  28. <dataSource type="POOLED">
  29. <property name="driver" value="${jdbc.driver}"/>
  30. <property name="url" value="${jdbc.databaseurl}"/>
  31. <property name="username" value="${jdbc.username}"/>
  32. <property name="password" value="${jdbc.password}"/>
  33. </dataSource>
  34. </environment>
  35. </environments>
  36. <mappers>
  37. <!-- 映射文件方式1,一个一个的配置-->
  38. <mapper resource="mapper/TestMapper.xml"/>
  39. <!-- 映射文件方式2,自动扫描包内的Mapper接口与配置文件 -->
  40. <!-- <package name="com.mybatis.demo"/>-->
  41. </mappers>
  42. </configuration>

2、mysql的配置文件**(文件名:mysql.properties)**

  1. jdbc.databaseurl=jdbc:mysql:///xuan?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
  2. jdbc.driver=com.mysql.cj.jdbc.Driver
  3. jdbc.username=root
  4. jdbc.password=root
  5. jdbc.maxActive=100
  6. jdbc.maxWait=5000
  7. jdbc.filters=wall,stat

5、添加mapper(映射)类接口以及对应mapper.xml

1、映射类接口

  1. package dao;
  2. import entity.Test;
  3. import java.util.List;
  4. /**
  5. * 映射类接口
  6. * @author Xuan
  7. * @date 2019/9/17 15:37
  8. */
  9. public interface TestMapper {
  10. /**
  11. * 查询所有列表
  12. * @return
  13. */
  14. List<Test> GetAll();
  15. }

2、映射类对应的mapper.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="dao.TestMapper">
  4. <select id="GetAll" resultType="Test">
  5. select * from `test`
  6. </select>
  7. </mapper>

6、创建一个单元测试

在这里插入图片描述

7、编写单元测试代码,通过sqlSession 操作数据库进行查询所有数据操作

  1. package test;
  2. import dao.TestMapper;
  3. import org.apache.ibatis.io.Resources;
  4. import org.apache.ibatis.session.SqlSession;
  5. import org.apache.ibatis.session.SqlSessionFactory;
  6. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  7. import org.junit.Test;
  8. import java.io.Reader;
  9. import java.util.List;
  10. /**
  11. * 单元测试
  12. * @author Xuan
  13. * @date 2019/9/17 15:48
  14. */
  15. public class TestMain {
  16. @Test
  17. public void test(){
  18. System.out.println("测试开始");
  19. try {
  20. //使用MyBatis提供的Resources类加载mybatis的配置文件
  21. Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
  22. //构建sqlSession的工厂
  23. SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
  24. SqlSession session= sessionFactory.openSession();
  25. TestMapper mapper=session.getMapper(TestMapper.class);
  26. List<entity.Test> list= mapper.GetAll();
  27. for (entity.Test arr: list) {
  28. System.out.println("id:"+arr.getId()+"name:"+arr.getName());
  29. }
  30. session.commit();
  31. } catch (Exception e) {
  32. e.printStackTrace();
  33. }
  34. }
  35. }

8、启动单元测试,我数据库只有两条,所以只查询出来两条

在这里插入图片描述

9、遇到困难可以评论(有信必回)小轩微信号tangchenxuan1999

发表评论

表情:
评论列表 (有 0 条评论,160人围观)

还没有评论,来说两句吧...

相关阅读