在上篇2.mybatis入门实例(一) 连接数据库进行查询的基础上
1.添加Mapper接口:UserMapper接口,并使用mybatis的注解
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; import com.mlxs.mybatis.test1.User; /** * 采用注解方式 * @author 魅力_小生 * */ public interface UserMapper { @Insert("insert into users(name,age) values(#{name},#{age})") public int add(User user); @Delete("delete from users where id=#{id}") public int delete(int id); @Update("update users set name=#{name}, age=#{age} where id=#{id}") public int update(User user); @Select("select * from users where id=#{id}") public User get(int id); @Select("select * from users") public List<User> getAll(); }
封装获取session的静态类:
public class MyBatisUtil { //创建sqlSessionFactory private static SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(getConfig()); private static Reader getConfig(){ //加载conf.xml文件 try { return Resources.getResourceAsReader("conf.xml"); } catch (IOException e) { e.printStackTrace(); } return null; } /** * 单例,对外开放,获取session工厂 * @return */ public static SqlSessionFactory getSessionFactory(){ return sessionFactory; } }
2.在conf.xml的mappers标签中添加上面的Mapper注解接口:
<mapper class="com.mlxs.mybatis.test2.UserMapper" />
3.测试
import org.apache.ibatis.session.SqlSession; import org.junit.Test; import com.mlxs.mybatis.test1.User; import com.mlxs.mybatis.util.MyBatisUtil; public class _Test3Annotation { @Test public void addUser(){ //创建session,设置事务为true SqlSession session = MyBatisUtil.getSessionFactory().openSession(true); UserMapper mapper = session.getMapper(UserMapper.class); int add = mapper.add(new User(0, "llp", 26)); System.out.println("add--->"+add); session.close(); } @Test public void delUser(){ //创建session,设置事务为true SqlSession session = MyBatisUtil.getSessionFactory().openSession(true); UserMapper mapper = session.getMapper(UserMapper.class); int del = mapper.delete(6); System.out.println("del--->"+del); session.close(); } @Test public void updateUser(){ //创建session,设置事务为true SqlSession session = MyBatisUtil.getSessionFactory().openSession(true); UserMapper mapper = session.getMapper(UserMapper.class); int update = mapper.update(new User(7, "llp2", 27)); System.out.println("update--->"+update); session.close(); } @Test public void getUser(){ //创建session,设置事务为true SqlSession session = MyBatisUtil.getSessionFactory().openSession(true); UserMapper mapper = session.getMapper(UserMapper.class); User user = mapper.get(2); System.out.println("user--->"+user); session.close(); } @Test public void getAll(){ //创建session,设置事务为true SqlSession session = MyBatisUtil.getSessionFactory().openSession(true); UserMapper mapper = session.getMapper(UserMapper.class); List<User> list = mapper.getAll(); System.out.println("list--->"+list); session.close(); } }