mybatis insert with id return

<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">  
    insert into user(userName,password,comment)  
    values(#{userName},#{password},#{comment})  
</insert>  
插入后,直接通过userId这个property存主键
Mybatis-Plus 是 Mybatis 的增强工具,可以帮助开发者更加便捷地进行数据库操作。其中最大的特点之一就是支持无 XML 配置,这样可以使开发过程更加高效和简洁。 下面是 Mybatis-Plus 无 XML 开发的详细步骤: 1. 引入 Mybatis-Plus 依赖 ```xml <!-- Mybatis-Plus 核心依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.x.x</version> </dependency> ``` 2. 配置数据源 在 application.properties 或 application.yml 文件中配置数据源信息,例如: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/mybatis-plus-demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 driver-class-name: com.mysql.cj.jdbc.Driver username: root password: root ``` 3. 创建实体类 创建和数据库表对应的实体类,可以使用 Lombok 简化代码,例如: ```java @Data @TableName("user") public class User { @TableId(type = IdType.AUTO) private Long id; private String name; private Integer age; private String email; private Date createTime; } ``` 其中 `@TableName` 注解指定实体类对应的表名,`@TableId` 注解指定主键生成策略。 4. 创建 Mapper 接口 创建继承自 `BaseMapper` 的 Mapper 接口,例如: ```java public interface UserMapper extends BaseMapper<User> { } ``` 这里不需要写 SQL,Mybatis-Plus 会根据实体类自动生成 CRUD SQL。 5. 进行数据库操作 在 Service 层中使用 `UserMapper` 进行数据库操作,例如: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public List<User> list() { return userMapper.selectList(null); } public User getById(Long id) { return userMapper.selectById(id); } public boolean save(User user) { return userMapper.insert(user) > 0; } public boolean update(User user) { return userMapper.updateById(user) > 0; } public boolean remove(Long id) { return userMapper.deleteById(id) > 0; } } ``` 这里可以直接使用 `UserMapper` 提供的方法进行数据库操作,不需要写 SQL。 6. 测试 可以通过 JUnit 测试来测试代码是否正确,例如: ```java @RunWith(SpringRunner.class) @SpringBootTest public class UserServiceTest { @Autowired private UserService userService; @Test public void testList() { List<User> userList = userService.list(); Assert.assertEquals(5, userList.size()); } @Test public void testGetById() { User user = userService.getById(1L); Assert.assertNotNull(user); } @Test public void testSave() { User user = new User(); user.setName("Tom"); user.setAge(18); user.setEmail("tom@example.com"); boolean result = userService.save(user); Assert.assertTrue(result); } @Test public void testUpdate() { User user = userService.getById(1L); user.setName("Jerry"); boolean result = userService.update(user); Assert.assertTrue(result); } @Test public void testRemove() { boolean result = userService.remove(1L); Assert.assertTrue(result); } } ``` 这里简单测试了一下常用的增删改查操作,可以根据需要进行扩展。 以上就是 Mybatis-Plus 无 XML 开发的详细步骤,相比传统的 XML 配置方式,更加简洁高效,减少了很多重复劳动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值