<insert id="add" parameterType="vo.Category" useGeneratedKeys="true" keyProperty="id"> insert into category (name_zh, parent_id, show_order, delete_status, description ) values (#{nameZh,jdbcType=VARCHAR}, #{parentId,jdbcType=SMALLINT}, #{showOrder,jdbcType=SMALLINT}, #{deleteStatus,jdbcType=BIT}, #{description,jdbcType=VARCHAR} ) </insert> 或 <insert id="add" parameterType="vo.Category"> <selectKey resultType="java.lang.Short" order="AFTER" keyProperty="id"> SELECT LAST_INSERT_ID() AS id </selectKey> insert into category (name_zh, parent_id, show_order, delete_status, description ) values (#{nameZh,jdbcType=VARCHAR}, #{parentId,jdbcType=SMALLINT}, #{showOrder,jdbcType=SMALLINT}, #{deleteStatus,jdbcType=BIT}, #{description,jdbcType=VARCHAR} ) </insert>
/** * 增加并且获取主键 * @param sql sql语句 * @param params 参数 * @return 主键 */ public Long insertAndGetKey(final String sql, final SmsBean smsbean) { KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { //String sql_sms = "insert into sms(title,content,date_s,form,sffs,by1,by2,by3) values (?,?,'"+dates+"',?,?,?,?,?)"; PreparedStatement ps = connection.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); ps.setString(1, smsbean.getTitle()); ps.setString(2, smsbean.getContent()); ps.setString(3, smsbean.getForm()); ps.setString(4, smsbean.getSffs()); /* * by1 存放的是 草稿主人的ID * 当消息为发送。清楚by1的ID */ ps.setString(5, ""); ps.setString(6, smsbean.getBy2()); ps.setString(7, smsbean.getBy3()); return ps; } }, keyHolder); Long generatedId = keyHolder.getKey().longValue(); return generatedId; }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
在Spring Boot项目中,整合MyBatis并利用MySQL实现主键UUID是一种常见的需求,尤其是在分布式系统中,为了保证数据的一致性和唯一性。UUID(Universally Unique Identifier)是一种全局唯一的标识符,它由128位数字...
在Mybatis的映射文件中,可以通过`<insert>`标签的`useGeneratedKeys`和`keyProperty`属性来处理主键自增,同时利用`<foreach>`标签进行数据遍历插入。 2. **事务管理**:SpringBoot集成Mybatis时,事务管理通常由...
1. MyBatis集成:Spring JDBC与MyBatis结合,可以利用MyBatis的动态SQL和映射文件,进一步简化数据访问。 2. Hibernate集成:Spring也可以与ORM框架如Hibernate配合,提供更高级别的对象关系映射。 六、实战案例 在...
Spring JDBC需要一个数据源来获取数据库连接。Spring提供了多种数据源实现,如`BasicDataSource`、`SingleConnectionDataSource`等,其中`BasicDataSource`是最常用的,符合Java标准的`javax.sql.DataSource`接口。 ...
插入操作完成后,MyBatis会自动处理主键的生成策略,如果数据库支持自增主键,MyBatis会自动获取生成的主键值。 2. **删除操作(Delete)**:同样,删除操作也需要定义一个Mapper接口方法,并在XML文件中写好对应的...
5. 数据库连接:配置JDBC连接池,如Druid或C3P0,并在Spring的配置文件中声明数据源。 6. 创建Mapper接口:为数据库操作创建Mapper接口,每个接口方法对应一个SQL查询。 7. 编写Mapper XML:在src/main/resources...
创建用户表,并插入一条测试数据 程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` ...
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 使用...
其次,MyBatis 3.3.1 支持返回主键的功能,这对于那些需要在插入后立即获取新生成主键的应用非常有用。在MySQL等支持自增主键的数据库中,可以通过设置useGeneratedKeys="true"和keyProperty="id"来实现这一功能: ...
### SpringBoot+Mybatis-Plus 整合 Sharding-JDBC5.1.1 实现单库分表 #### 一、前言与背景 在现代软件开发中,随着业务量的增长,单一数据库往往难以满足高性能、高并发的需求,因此分库分表成为了一种常见的解决...
在MybatisPlus中,插入数据并获取对象的主键值是一个常见的需求,特别是在需要跟踪新插入记录的唯一标识时。MybatisPlus提供了一种简便的方式来实现这一功能。本篇文章将详细解释如何在MybatisPlus中实现这一操作,...
Spring MVC、Spring 和 MyBatis 是Java开发领域中三大核心框架,它们的整合是构建企业级Web应用的常见选择。Spring MVC作为MVC模式的实现,负责处理HTTP请求,Spring则提供依赖注入(DI)和面向切面编程(AOP),而...
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 一、...
在处理数据插入时,如果数据库(如MySQL)支持自动生成主键,MyBatis提供了自动获取新插入数据主键值的功能。例如,使用`useGeneratedKeys="true"`和`keyProperty="id"`属性,可以获取到插入后生成的主键值。 对于...
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 一、...
MyBatis Plus是在MyBatis的基础上进行扩展的,它提供了更为简便的CRUD操作,如自动填充主键、批量插入、条件构造器等。MyBatis Plus的集成使得我们可以专注于业务逻辑,而不必花费过多时间在SQL编写上。 集成Spring...
在Java Web开发中,Spring、Struts、Hibernate和MyBatis是四个非常重要的框架,它们分别扮演了不同的角色,帮助开发者构建高效、可维护的Web应用程序。这些框架都有自己的配置文件,用来定义和约束框架的行为。以下...
- insert:插入操作,支持自动主键回填。 - update:更新操作。 - delete:删除操作。 五、动态SQL MyBatis的动态SQL功能强大,可以实现条件拼接、循环等复杂逻辑,例如if、choose(when/otherwise)、where、set等...
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 一、...
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在...