支持
整体结构
数据库支持
增删改查
添加用户
UserMapper.java
// 添加用户
int addUser(User user);
UserMapper.xml
<!--添加用户-->
<insert id="addUser" parameterType="com.guo.pojo.User">
insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd})
</insert>
UserMapperTest.java
/*添加用户*/
@Test
public void addUser() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int res = mapper.addUser(new User(3, "王五", "123"));
/*提交事务*/
sqlSession.commit();
/*控制台输出*/
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
结果
注意
如果没有提交事务 ,运行结果如上所示。控制台显示成功添加用户,实际上数据并没添加至数据库。
添加事务后,数据便能成功添加至数据库。
所以,切记提交事务
删除用户
UserMapper.java
// 删除用户
int deleteUser(int id);
UserMapper.xml
<!--删除用户-->
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id = #{id}
</delete>
UserMapperTest.java
/*删除用户*/
@Test
public void deleteUser() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(3);
/*提交事务*/
sqlSession.commit();
/*控制台输出*/
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
修改用户信息
UserMapper.java
// 修改用户信息
int updateUser(User user);
UserMapper.xml
<!--修改用户信息-->
<update id="updateUser" parameterType="com.guo.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
</update>
UserMapperTest.java
/*修改用户信息*/
@Test
public void updateUser() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser(new User(3, "哈哈", "2333"));
/*提交事务*/
sqlSession.commit();
/*控制台输出*/
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
查询用户
UserMapper.java
// 根据id获取用户
User getUserById(int id);
// 获取全部用户
List<User> getUserList();
UserMapper.xml
<!--根据id获取用户-->
<select id="getUserById" parameterType="int" resultType="com.guo.pojo.User">
select * from mybatis.user where id=#{id}
</select>
<!--获取全部用户-->
<select id="getUserList" resultType="com.guo.pojo.User">
select * from mybatis.user
</select>
UserMapperTest.java
/*根据id获取用户*/
@Test
public void getUserById() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(2);
/*控制台输出*/
System.out.println(user);
sqlSession.close();
}
/*获取全部用户*/
@Test
public void getUserList() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
/*控制台输出*/
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
总结
- 编写UserMapper接口
- 在UserMapper.xml文件中写相应的sql语句
- 测试
- 注意
- UserMapper.xml中应该用
< mapper namespace=“com.guo.mapper.UserMapper” >
绑定接口,namespace的值为接口的全限定名 - < insert>< /insert> 对应添加
- < delete>< /delete> 对应删除
- < update>< /update> 对应修改
- < select>< /select> 对应查询
- 增删改需要添加事务