学习目标:
# MyBatis注解实现CRUD学习内容:
注解实现CRUD
学习时间:
学习产出:
注解实现CRUD
1、设置自动提交事务
在工具类中将openSession的value设置为true
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession(true);
}//true为自动提交参数
2、UserMapper
package com.mybatis.mapper;
import com.mybatis.pojo.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
public interface UserMapper {
@Select("select * from user where id = #{id}")
@Results(id = "getUserList",
value = {
@Result(column = "pwd", property = "password")})
User getUserById(@Param("id") int id);
@Insert("insert into user(id,name,pwd) values(#{id},#{name},#{password})")
int addUser(User user);
@Update("update user set name=#{name},pwd=#{password} where id=#{id}")
int updateUser(User user);
@Delete("delete from user where id=#{id}")
int deleteUser(int id);
}
3、Test
package com.mybatis.mapper;
import com.mybatis.pojo.User;
import com.mybatis.util.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
/**
* @ClassName UserMapperTest
* @Author $童一
* @Description $
* @Param $
* @return $
* @Date $ $
**/
public class UserMapperTest {
@Test
public void SelectTest(){
SqlSession sqlSession = MyBatisUtil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//查询
// User user = mapper.getUserById(1);
// System.out.println(user);
//增加
// int id = mapper.addUser(new User(7, "郭九", "123456789"));
// if(id>0) {
// System.out.println("插入成功");
// }
//修改
// int id = mapper.updateUser(new User(7, "郭十", "123"));
// if(id>0) {
// System.out.println("修改成功");
// }
//删除
int id = mapper.deleteUser(7);
if(id>0) {
System.out.println("删除成功");
}
}
}
关于@Param注解
- 基本类型的参数或者String类型,需要加上
- 引用类型不用加
- 如果只有一个基本类型,可以忽略
- 我们在SQL中引用的就是我们在这里的@Param(“id”)中设定的属性名id