`
knight_black_bob
  • 浏览: 858674 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mybatis springjdbc 插入数据获取主键

阅读更多

 

<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捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

2
4
分享到:
评论

相关推荐

    spring boot整合mybatis利用Mysql实现主键UUID的方法

    在Spring Boot项目中,整合MyBatis并利用MySQL实现主键UUID是一种常见的需求,尤其是在分布式系统中,为了保证数据的一致性和唯一性。UUID(Universally Unique Identifier)是一种全局唯一的标识符,它由128位数字...

    SpringBoot使用mybatis批量新增500万数据到mysql数据库Demo

    在Mybatis的映射文件中,可以通过`&lt;insert&gt;`标签的`useGeneratedKeys`和`keyProperty`属性来处理主键自增,同时利用`&lt;foreach&gt;`标签进行数据遍历插入。 2. **事务管理**:SpringBoot集成Mybatis时,事务管理通常由...

    spring-jdbc-dao

    1. MyBatis集成:Spring JDBC与MyBatis结合,可以利用MyBatis的动态SQL和映射文件,进一步简化数据访问。 2. Hibernate集成:Spring也可以与ORM框架如Hibernate配合,提供更高级别的对象关系映射。 六、实战案例 在...

    spring jdbc 整合

    Spring JDBC需要一个数据源来获取数据库连接。Spring提供了多种数据源实现,如`BasicDataSource`、`SingleConnectionDataSource`等,其中`BasicDataSource`是最常用的,符合Java标准的`javax.sql.DataSource`接口。 ...

    mybatis数据操作(增删改查+批量操作)

    插入操作完成后,MyBatis会自动处理主键的生成策略,如果数据库支持自增主键,MyBatis会自动获取生成的主键值。 2. **删除操作(Delete)**:同样,删除操作也需要定义一个Mapper接口方法,并在XML文件中写好对应的...

    spring mvc mybatis 整合 maven

    5. 数据库连接:配置JDBC连接池,如Druid或C3P0,并在Spring的配置文件中声明数据源。 6. 创建Mapper接口:为数据库操作创建Mapper接口,每个接口方法对应一个SQL查询。 7. 编写Mapper XML:在src/main/resources...

    springmybatis

    创建用户表,并插入一条测试数据 程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` ...

    mybatis框架自动生成工具

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 使用...

    mybatis3.3.1

    其次,MyBatis 3.3.1 支持返回主键的功能,这对于那些需要在插入后立即获取新生成主键的应用非常有用。在MySQL等支持自增主键的数据库中,可以通过设置useGeneratedKeys="true"和keyProperty="id"来实现这一功能: ...

    SpringBoot+Mybatis-Plus整合Sharding-JDBC5.1.1实现单库分表【全网最新】.doc

    ### SpringBoot+Mybatis-Plus 整合 Sharding-JDBC5.1.1 实现单库分表 #### 一、前言与背景 在现代软件开发中,随着业务量的增长,单一数据库往往难以满足高性能、高并发的需求,因此分库分表成为了一种常见的解决...

    MybatisPlus中插入数据后获取该对象主键值的实现

    在MybatisPlus中,插入数据并获取对象的主键值是一个常见的需求,特别是在需要跟踪新插入记录的唯一标识时。MybatisPlus提供了一种简便的方式来实现这一功能。本篇文章将详细解释如何在MybatisPlus中实现这一操作,...

    Spring mvc Mybatis整合

    Spring MVC、Spring 和 MyBatis 是Java开发领域中三大核心框架,它们的整合是构建企业级Web应用的常见选择。Spring MVC作为MVC模式的实现,负责处理HTTP请求,Spring则提供依赖注入(DI)和面向切面编程(AOP),而...

    mybatis笔记

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 一、...

    Mybatis笔记.docx

    在处理数据插入时,如果数据库(如MySQL)支持自动生成主键,MyBatis提供了自动获取新插入数据主键值的功能。例如,使用`useGeneratedKeys="true"`和`keyProperty="id"`属性,可以获取到插入后生成的主键值。 对于...

    MyBatis中文参考文档

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 一、...

    springboot+mybatis-plus集成

    MyBatis Plus是在MyBatis的基础上进行扩展的,它提供了更为简便的CRUD操作,如自动填充主键、批量插入、条件构造器等。MyBatis Plus的集成使得我们可以专注于业务逻辑,而不必花费过多时间在SQL编写上。 集成Spring...

    spring,struts,hibernate,mybatis的约束文件

    在Java Web开发中,Spring、Struts、Hibernate和MyBatis是四个非常重要的框架,它们分别扮演了不同的角色,帮助开发者构建高效、可维护的Web应用程序。这些框架都有自己的配置文件,用来定义和约束框架的行为。以下...

    MyBatis3 教程 中文版

    - insert:插入操作,支持自动主键回填。 - update:更新操作。 - delete:删除操作。 五、动态SQL MyBatis的动态SQL功能强大,可以实现条件拼接、循环等复杂逻辑,例如if、choose(when/otherwise)、where、set等...

    mybatis中文教程

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 一、...

    mybatis文件

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在...

Global site tag (gtag.js) - Google Analytics