Mybatis实验三(注解)
目录结构
以上重返代码在上个实验写过就不写了
https://blog.csdn.net/zhangjin2024/article/details/90511838
1.用注解就不用写 usermapper.xml文件了,第一sql的接口(不需要写实现类,实现方法是动态产生的)
UserMapper.java
package com.sxau.rjxy.mybatis_test3;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
public interface UserMapper {
@Insert("insert into users(name, age) values(#{name}, #{age})")
public int insertUser(User user);
@Delete("delete from users where id=#{id}")
public int deleteUserById(int id);
@Update("update users set name=#{name},age=#{age} where id=#{id}")
public int updateUser(User user);
@Select("select * from users where id=#{id}")
public User getUserById(int id);
@Select("select * from users")
public List<User> getAllUser();
}
2.在config.xml中注册(注意是类)
<mappers>
<mapper class="com.sxau.rjxy.mybatis_test3.UserMapper"/>
</mappers>
3.测试类(名字最好不要写成Test,与junit test会重名)
Test1.java
package com.sxau.rjxy.mybatis_test3;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;
import db.utils.MybatisUtils;
public class Test1 {
@Test
public void testAdd() {
SqlSessionFactory factory = MybatisUtils.getFactory();
SqlSession session = factory.openSession(true);
UserMapper umapper=session.getMapper(UserMapper.class);
int add = umapper.insertUser(new User(-1, "注解", 21));
// session.commit();
System.out.println("add:" + add);
}
}
4.结果