1.增删改查操作
(1)增
dao接口
//添加数据
int addUser(User user);
dao接口实现类
<insert id="addUser" parameterType="pojo.User">
insert into user (id,name,pwd) values (#{id},#{name},#{pwd});
</insert>
测试
//增删改需要提交事务
@Test
public void addUser() {
// 1
SqlSession sqlSession = MybatisUtils.getSqlSession();
// 2
UserDao mapper = sqlSession.getMapper(UserDao.class);
// 3
int row = mapper.addUser(new User(4, "测试", "123456"));
if (row > 0) {
System.out.println("添加成功!");
}
//提交事务
sqlSession.commit();
sqlSession.close();
}
测试结果:
(2)删
dao接口
//删除用户
int deleteUser(int id);
dao接口实现类
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id};
</delete>
测试
@Test
public void deleteUser() {
// 1
SqlSession sqlSession = MybatisUtils.getSqlSession();
// 2
UserDao mapper = sqlSession.getMapper(UserDao.class);
//3
int row = mapper.deleteUser(4);
if (row > 0) {
System.out.println("删除成功!");
}
sqlSession.commit();
sqlSession.close();
}
测试结果
(3)改
dao接口
//修改用户
int updateUser(User user);
dao接口实现类
<update id="updateUser" parameterType="pojo.User">
update user set name=#{name},pwd=#{pwd} where id=#{id};
</update>
测试
@Test
public void updateUser() {
// 1
SqlSession sqlSession = MybatisUtils.getSqlSession();
// 2
UserDao mapper = sqlSession.getMapper(UserDao.class);
//3
int row = mapper.updateUser(new User(3, "测试", "1234567"));
if (row > 0) {
System.out.println("修改成功!");
}
sqlSession.commit();
sqlSession.close();
}
测试结果
(4)查
dao接口
//根据ID查询用户
User getUserByID(int id);
dao接口实现类
<select id="getUserByID" parameterType="int" resultType="pojo.User">
select * from user where id=#{id}
</select>
测试
@Test
public void getUserById() {
// 1
SqlSession sqlSession = MybatisUtils.getSqlSession();
// 2
UserDao mapper = sqlSession.getMapper(UserDao.class);
// 3
User user = mapper.getUserByID(1);
System.out.println(user);
sqlSession.close();
}
测试结果
2.配置解析
(1)environments
用于环境配置
<environments default="development">
</environments>
environments中可以配置多套环境,但是只能选择其中的一个。
<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/mybatis?useSSL=false&useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
可通过environments中的default属性来选择environment的id
(2)properties
可以通过properties属性来引入外部配置,增加代码的灵活性
1.编写配置文件
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&Unicode=true&characterEncoding=UTF-8
username=root
password=root
2.在核心配置文件中引入
<!--如果内部配置和外部配置有同一个字段,优先使用外部配置文件-->
<properties resource="db.properties"/>
(3)typeAliases
用于给实体类起别名
<typeAliases>
<typeAlias type="pojo.User" alias="User"></typeAlias>
</typeAliases>
(4)Mapper
注册绑定Mapper文件
1.通过resourse绑定注册
<mappers>
<mapper resource="dao/UserMapper.xml"/>
</mappers>
2.通过class文件绑定注册
<mappers>
<mapper class="dao.UserDao"/>
</mappers>
3.通过扫描包绑定注册
<mappers>
<package name="dao"/>
</mappers>