user 表 CRUD 实战

笔记/Java/Java 持久层/MyBatis-Plus/user 表 CRUD 实战

前置:环境与 BaseMapper

CrudDemo.java#

package demo.mp;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
public class CrudDemo {
public static void main(String[] args) {
SqlSessionFactory factory = Mp.factory();
try (SqlSession session = factory.openSession(true)) {
UserMapper mapper = session.getMapper(UserMapper.class);
User frank = new User("frank", "frank@example.com", 1);
mapper.insert(frank);
System.out.println("insert id=" + frank.getId());
User loaded = mapper.selectById(frank.getId());
System.out.println("selectById: " + loaded);
loaded.setEmail("frank.new@example.com");
mapper.updateById(loaded);
System.out.println("after update: " + mapper.selectById(frank.getId()));
System.out.println("total users=" + mapper.selectList(null).size());
mapper.deleteById(frank.getId());
System.out.println("deleted, exists=" + (mapper.selectById(frank.getId()) == null));
}
}
}

selectList(null) 等价于 SELECT * FROM user(注意数据量,Demo 仅小表)。

运行#

Terminal window
mvn -q exec:java -Dexec.mainClass=demo.mp.CrudDemo

与 MyBatis 对照#

MyBatis XMLMyBatis-Plus
<insert id="insert">mapper.insert(user)
<select id="selectById">mapper.selectById(id)
<update id="updateEmail">mapper.updateById(entity)
<delete id="deleteById">mapper.deleteById(id)

MP 在运行时生成 SQL;复杂 JOIN 仍建议回到 MyBatis Mapper XML

下一篇:条件构造与分页

文章目录

文章目录