中文官网

    • 导入架包,提取码(8toe)

    • 构建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. <!-- 加载数据库配置信息 -->
      7. <properties resource="database.properties"></properties>
      8. <!-- 设置日志行为 -->
      9. <settings>
      10. <setting name="logImpl" value="LOG4J"></setting>
      11. </settings>
      12. <!-- 设置类型别名 -->
      13. <typeAliases>
      14. <!-- <typeAlias alias="User" type="com.apeman1024.mybatis.User"/>-->
      15. <package name="com.apeman1024.mybatis"/>
      16. </typeAliases>
      17. <!-- 配置运行环境 -->
      18. <environments default="dev">
      19. <!-- 不同的运行环境 -->
      20. <environment id="dev">
      21. <transactionManager type="JDBC" />
      22. <dataSource type="POOLED">
      23. <property name="driver" value="${driver}" />
      24. <property name="url" value="${url}" />
      25. <property name="username" value="${username}" />
      26. <property name="password" value="${password}" />
      27. </dataSource>
      28. </environment>
      29. <environment id="test">
      30. <transactionManager type="JDBC" />
      31. <dataSource type="POOLED">
      32. <property name="driver" value="${driver}" />
      33. <property name="url" value="${url}" />
      34. <property name="username" value="${username}" />
      35. <property name="password" value="${password}" />
      36. </dataSource>
      37. </environment>
      38. <environment id="pro">
      39. <transactionManager type="JDBC" />
      40. <dataSource type="POOLED">
      41. <property name="driver" value="${driver}" />
      42. <property name="url" value="${url}" />
      43. <property name="username" value="${username}" />
      44. <property name="password" value="${password}" />
      45. </dataSource>
      46. </environment>
      47. </environments>
      48. <mappers>
      49. <mapper resource="com/apeman1024/dao/UserMapper.xml"/>
      50. </mappers>
      51. </configuration>
    • 配置log4j.properties文件
      1. log4j.rootLogger =debug,stdout,logfile
      2. log4j.appender.stdout = org.apache.log4j.ConsoleAppender
      3. log4j.appender.stdout.layout = org.apache.log4j.SimpleLayout
      4. log4j.appender.logfile = org.apache.log4j.FileAppender
      5. log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
      6. log4j.appender.fileAppender.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss}
      7. log4j.logger.com.ibatis=DEBUG
      8. log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
      9. log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
      10. log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
      11. log4j.logger.java.sql.Connection=DEBUG
      12. log4j.logger.java.sql.Statement=DEBUG
      13. log4j.logger.java.sql.PreparedStatement=DEBUG
    • 配置database.properties文件
      1. driver=com.mysql.jdbc.Driver
      2. url=jdbc:mysql://localhost:3306/qidi?useUnicode=true&amp;characterEncoding=utf8
      3. username=root
      4. password=root
    • 编写相应的映射文件UserMapper.xml

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <!DOCTYPE mapper
      3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
      4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      5. <mapper namespace="com.apeman1024.dao.UserMapper">
      6. <select id="count" resultType="int">
      7. select count(1) from user
      8. </select>
      9. <!-- <select id="userlist" resultType="com.apeman1024.mybatis.User">
      10. select * from user
      11. </select>-->
      12. <select id="userlist" resultType="User">
      13. select * from user
      14. </select>
      15. <select id="getUser" resultType="User">
      16. select * from user
      17. </select>
      18. </mapper>
    • 搭建工具类 ``` import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;

    public class Util { private static SqlSessionFactory sqlSessionFactory ; static { String path=”mybatis-config.xml”; InputStream inputStream; try { inputStream = Resources.getResourceAsStream(path); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); }

    1. }
    2. public static SqlSession getSession() {
    3. return sqlSessionFactory.openSession();
    4. }

    }

    1. -
    2. sqlSession使用的两种方式
    1. @Test
    2. public void test01() {
    3. //mysql读取数据库的第一种方法
    4. SqlSession session = Util.getSession();
    5. int selectOne = session.selectOne("com.apeman1024.dao.UserMapper.count");
    6. System.out.println(selectOne);
    7. }
    8. @Test
    9. public void test02() {
    10. //mysql读取数据库的第二种方式,需要构建接口类,推荐使用
    11. SqlSession session = Util.getSession();
    12. Integer count = session.getMapper(UserMapper.class).getCount();
    13. System.out.println(count);
    14. }
    1. -
    2. mybatis中的属性resultTyperesultMap的区别:[区别](https://www.jianshu.com/p/df86cb39d672)
    3. -
    4. mybatis中的insertupdate以及delete默认不自动提交
    5. -
    6. mybatis中当属性列允许为空时最好指定一下属性列的jdbsType类型:[类型映射](https://blog.csdn.net/bisal/article/details/82775403)
    7. -
    8. mybatis在传递多个参数时: 在多个参数的情况下,默认它们将会以 param 加上它们在参数列表中的位置来命名,比如:#{param1}、#{param2}等。如果你想(在有多个参数时)自定义参数的名称,那么你可以在参数上使用 @Param("paramName") 注解。
    9. -
    10. mybatis分页查询的方法:为映射方法添加RowBounds实例,其中在RowBounds构造方法中的参数offset:在结果集的第offset个元素开始取,limit指:取多少个元素
    11. ```java
    12. List<User3> getUs1(@Param("mm") Object m,RowBounds ro);//映射方法
    13. //
    14. RowBounds ro=new RowBounds(1,2);
    15. List<User3> us1 = session.getMapper(IdMapper.class).getUs1("111",ro);