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 仅小表)。
运行
mvn -q exec:java -Dexec.mainClass=demo.mp.CrudDemo与 MyBatis 对照
| MyBatis XML | MyBatis-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。
下一篇:条件构造与分页