第4关:MyBatis的注解方式实现增删改查

任务描述

在上一关中我们学习了用配置XML的方式来操作数据库,但MyBatis还可以用注解的方式操作数据库。本关我们将学习如何用注解的方式操作数据库。

本关任务:用MyBatis注解方式实现对MySQLt_user中的用户数据进行增删改查。

相关知识

为了完成本关任务,你需要掌握:

  • 什么是注解;
  • 常见注解的使用。

myb/src/main/resources/mybatis_config.xml 

<?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>
<!--********** Begin **********-->
<!--给pojo包起别名-->
<typeAliases>
<package name="com.com.test.pojo"/>
</typeAliases>
<!--配置数据库连接环境-->
<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/mydb?useUnicode=true&amp;characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123123"/>
</dataSource>
</environment>
</environments>
<!-- 加载映射文件(mapper接口文件) -->
<mappers>
<mapper class="com.test.mapper.UserMapper"/>
</mappers>
<!--********** End **********-->
</configuration>

 myb/src/main/java/com/test/mapper/UserMapper.java

package com.test.mapper;
import com.test.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface UserMapper {
/*********** Begin **********/
//添加user
@Insert({ "insert into t_user(userId,userName,passWord) values(#{userId},#{userName},#{passWord})" })
int addUser(User user);
//修改user
@Update({"update t_user set userName = #{userName}, passWord = #{passWord} where userId = #{userId}"})
int updateUser(User user);
//删除user
@Delete({"delete from t_user where userId = #{userId}"})
boolean deleteUser(int userId);
//查询user
@Select({"select * from t_user"})
List<User> selectUser();
/*********** End **********/
}

 myb/src/main/java/com/test/test/UserTest.java

package com.test.test;
import com.test.mapper.UserMapper;
import com.test.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
public class UserTest {
/*********** Begin **********/
private static SqlSessionFactory sqlSessionFactory;
//初始化
public static void init() {
try {
Reader reader = Resources.getResourceAsReader("mybatis_config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
/*********** End **********/
//添加数据
public static int insertUser(User user) {
/*********** Begin **********/
init();
SqlSession sqlSession = null;
int i= 0;
try {
sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
i = mapper.addUser(user);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
return i;
/*********** End **********/
}
//修改数据
public static int updateUser(User user) {
/*********** Begin **********/
init();
SqlSession sqlSession = null;
int i= 0;
try {
sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
i = mapper.updateUser(user);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
return i;
/*********** End **********/
}
//删除数据
public static boolean deleteUser(int userId) {
/*********** Begin **********/
init();
SqlSession sqlSession = null;
boolean b = false;
try {
sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
b = mapper.deleteUser(userId);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
return b;
/*********** End **********/
}
//查询数据
public static List<User> selectUser() {
/*********** Begin **********/
init();
SqlSession sqlSession = null;
List<User> users = null;
try {
sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
users = mapper.selectUser();
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
return users;
/*********** End **********/
}
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值