<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><environmentsdefault="development"><environmentid="development"><transactionManagertype="JDBC"/><dataSourcetype="POOLED"><propertyname="driver"value="com.mysql.jdbc.Driver"/><propertyname="url"value="jdbc:mysql://localhost:3306/mydb"/><propertyname="username"value="root"/><propertyname="password"value="password"/></dataSource></environment></environments><mappers><mapperresource="UserMapper.xml"/></mappers></configuration>
1.2 Mapper接口
1
2
3
4
5
6
7
publicinterfaceUserMapper{@Select("SELECT * FROM users WHERE id = #{id}")UsergetUserById(intid);@Insert("INSERT INTO users(name, email) VALUES(#{name}, #{email})")intinsertUser(Useruser);}
2. 动态SQL
2.1 条件查询
1
2
3
4
5
6
7
8
9
10
11
<selectid="findUsers"resultType="User"> SELECT * FROM users
<where><iftest="name != null"> AND name LIKE #{name}
</if><iftest="email != null"> AND email = #{email}
</if></where></select>
<!-- 使用关联查询替代多次单独查询 --><selectid="getUserWithOrders"resultMap="userWithOrders"> SELECT u.*, o.*
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.id = #{id}
</select>