全局 (核心) 配置文件
mybatis-config.xml
该配置文件没有名称命名的要求
在全局配置文件中引入 DTD 约束
- <!DOCTYPE configuration
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
具体配置如下(mybatis 的全局配置文件约束的元素节点的顺序, 顺序不对会报错)
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- 配置 mybatis 的全局变量 -->
- <!-- 引入 xml 的 dtd 约束 -->
- <!DOCTYPE configuration
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <configuration>
- <!-- 导入 properties 文件 -->
- <properties resource="db.properties"/>
- <!-- 给 mybatis 添加 log4j 日志的功能 -->
- <settings>
- <setting name="logImpl" value="LOG4J"/>
- </settings>
- <!-- environments 标签的属性 default 引用 environment 的 id, 表示使用这个环境配置 -->
- <environments default="defa">
- <!-- 声明环境, 可声明多个环境, 用 id 区分 -->
- <environment id="defa">
- <!-- 声明使用的事务为 jdbc -->
- <transactionManager type="JDBC"></transactionManager>
- <!-- 配置数据库所需参数 -->
- <dataSource type="POOLED">
- <property name="driver" value="${dirver}"/>
- <property name="url" value="${url}"/>
- <property name="username" value="${username}"/>
- <property name="password" value="${password}"/>
- </dataSource>
- </environment>
- </environments>
- <!-- 引入 mapper.xml 资源方式 -->
- <mappers>
- <!-- 使用相对于类路径的资源引用 -->
- <mapper resource="com/mapper/FlowerMapper.xml"/>
- <!-- 使用完全限定资源定位符 (URL) 不常用 -->
- <mapper url=""/>
- <!-- 接口绑定方式(处理一个接口), 前提是配置文件名称要和接口一致, 并且在一个包下 -->
- <mapper class="org.mybatis.builder.AuthorMappe"/>
- <!-- 接口绑定方式(和上面功能一样, 但是可以处理多个接口),
- 将此目录包下的所有的接口 全部注册为映射器, 前提是配置文件名称要和接口一致, 并且在一个包下 -->
- <package name="org.mybatis.builder" />
- </mappers>
- </configuration>
mapper.xml 映射文件配置
该配置文件主要用于 SQL 语句的编写, 是使用 mybatis 的核心
常用操作
增 <insert > 标签
删 <delete>
改 <insert>
查 <select > 标签
标签属性
id: 标签的名称, 若使用接口绑定方式, id 必须是接口方法所在类的全限定类名 + 接口方法名
parameterType: 可以控制参数类型
resultType: 返回值类型
SQL 查询的结果是 基本数据类型或者是与数据库字段对应的 Javabean 时, 才能获取返回的结果
resultMap: 当 SQL 查询的结果 需要赋值给多个参数时, 或一个 Javabean 无法对应 数据库的字段时
使用 resultMap 将 SQL 查询的结果自定义赋值. 并且可以在 resultMap 中再次调用 一个查询
在核心配置文件中引入
- <mappers>
- <mapper resource="com/mapper/abc.xml"/>
- </mappers>
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="a.b">
- <select id="selBookALl" resultType="com.pojo.Books">
- select * from books
- </select>
- </mapper>
- @Test
- public void test() throws IOException {
- InputStream resource = Resources.getResourceAsStream("mybatis_config.xml");
- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resource);
- SqlSession sqlSession = sqlSessionFactory.openSession();
- List<Object> list = sqlSession.selectList("a.b.selBookALl");
- System.out.println(list);
- }
来源: http://www.bubuko.com/infodetail-3346740.html