第7关:MyBatis练习题

任务描述

通过之前关卡的学习,我们我们已经掌握了MyBatis最常用的一些功能。下面是一道MyBatis的练习题,查看大家的掌握情况。

本关任务:对用户表和博客表进行修改和删除操作。

test/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.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>

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

package com.test.mapper;
import com.test.pojo.Blog;
import com.test.pojo.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
public interface UserMapper {
/*********** Begin **********/
//修改
@Select({"select userId from t_user where userName = #{userName}"})
User selectUserId(String userName);
@Update({"update t_user set userId = #{userId} where userName = #{userName}"})
int updateUserId(@Param("userName") String userName,@Param("userId")int userId);
@Update({"update t_blog set userId = #{userId2} where userId = #{userId1}"})
int updateBlog(@Param("userId1")int userId1,@Param("userId2")int userId2);
//删除
@Delete({"delete from t_user where userId = #{userId}"})
boolean deleteUser(int userId);
@Delete({"delete from t_blog where userId = #{userId}"})
boolean deleteBlog(int userId);
/*********** End **********/
}

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

package com.test.test;
import com.test.mapper.UserMapper;
import com.test.pojo.User;
import com.test.pojo.Blog;
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 void updateUserId(String userName,int userId) {
/*********** Begin **********/
init();
SqlSession sqlSession = null;
try {
sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.selectUserId(userName);
mapper.updateUserId(userName,userId);
mapper.updateBlog(user.getUserId(),userId);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
/*********** End **********/
}
//删除数据
public static void deleteUser(int userId) {
/*********** Begin **********/
init();
SqlSession sqlSession = null;
try {
sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(userId);
mapper.deleteBlog(userId);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
/*********** End **********/
}
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值