Mybatis的配置与简单使用

Mybatis的开发步骤

官网入门手册中说明如下:

  • 创建项目
  • 加入依赖
  • 执行SQL
    • XML
      • XML 配置文件中包含了对 MyBatis 系统的核心设置,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)
    • 获得SqlSessionFactoryBuilder
    • 获得SqlSessionFactory
    • 获得SqlSession
    • 执行SQL

自己确定开发步骤

  • 确定表结构和数据
  • 创建项目,加入依赖
  • 确定实体类
  • 写mybatis核心配置文件
  • 写Mapper接口
  • 写Mapper接口对应的映射文件XML
  • 核心配置文件,加载映射文件
  • 通过核心配置文件,获得SqlSessionFactoryBuilder
  • 通过SqlSessionFactoryBuilder 获得 SqlSessionFactory
  • 通过SqlSessionFactory获得SqlSession
  • SqlSession获得接口文件的代理对象
  • 通过代理对象调用方法执行

1、mybatis核心配置文件

名字: 名称任意,一般有这么几种: sqlconfing.xml或者mybatis-config.xml

位置:resources下

内容:(第一次从官网拷贝)

点击查看代码
copy
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/database_name"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <!-- TODO 加载映射文件 --> </mappers> </configuration>

2、Mapper接口文件

3、Mapper对应的XML文件

<select/update/delete/insert >

单元测试

以前测试代码,都需要创建主方法,但是一个主方法只能完成一个功能! 再有新功能,就需要抽取方法,再继续再main方法中再写 --->这些写很麻烦


测试,就可以使用单元测试来测试代码,每个方法都可以独立执行,还可以抽取一些公用代码,减少重复

junit junit 4.13 test

增删改查

增加之后主键回填

点击查看代码
copy
<selectKey keyProperty="id" order="AFTER" resultType="int"> select last_insert_id() </selectKey>

细节补充

1 解决mapper.xml存放在resources以外路径中的读取问题

Mapper.xml文件除了放在resources下,也可以放在其他位置,常见的会和接口放在一起
image
但是,IDEA默认不会加载这个UserMapper.xml,需要在POM.xml加入如下配置

在pom.xml文件最后追加< build >标签,以便可以将xml文件复制到classes中,并在程序运行时正确读取。

copy
<resources> <resource> <directory>src/main/java</directory> <includes> <include>*.xml</include><!-- 默认(新添加自定义则失效) --> <include>**/*.xml</include><!-- 新添加 */代表1级目录 **/代表多级目录 --> </includes> <filtering>true</filtering> </resource> </resources>
posted @   卡卡罗特kk  阅读(45)  评论(1编辑  收藏  举报
相关博文:
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
展开