环境:JDK7、Mybatis3.2.8、Mysql5.6.25
目的:用Mybatis插入数据成功后,对象中封装主键
代码:
<insert id="save">
<selectKey resultType="int" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>
insert into menurow
(nameC,nameE,priceOne,priceTwo)
values
(#{nameC},#{nameE},#{priceOne},#{priceTwo})
</insert>
如果数据库ID的类型与JAVA实体类型不一致,可用下面方法(数据库:int、JAVA:String)
<insert id="save">
<selectKey resultType="String" keyProperty="id">
SELECT concat('',LAST_INSERT_ID())
</selectKey>
insert into menurow
(nameC,nameE,priceOne,priceTwo)
values
(#{nameC},#{nameE},#{priceOne},#{priceTwo})
</insert>
分享到:
相关推荐
<context id="DB2Tables" targetRuntime="MyBatis3"> connectionURL="jdbc:db2://localhost:50000/MYDB" userId="myuser" password="mypassword"/> targetProject="src/main/java"/> targetProject="src...
在MyBatis中,实体类是数据库表对应的Java对象,用于封装数据,通常我们需要手动创建这些实体类。然而,MyBatis提供了一个反向工程(Reverse Engineering)工具,可以自动生成实体类,极大地提高了开发效率。 首先...
MyBatis查询结果返回至实体类的示例代码 MyBatis是一个流行的Java持久层框架,用于将Java应用程序与数据库连接起来。在实际开发中,我们经常需要将查询结果返回到实体类中,本文将介绍如何使用MyBatis将查询结果...
根据给定的信息,本文将详细解析Java中使用MyBatis框架封装JDBC的相关知识点,包括MyBatis的基础概念、环境搭建、基本使用方法以及高级特性等内容。 ### 一、MyBatis简介 MyBatis是一个优秀的持久层框架,它支持...
完成配置后,我们就可以在实体类上使用TkMybatis提供的注解,比如@TableId和@TableName,来声明主键和映射的表名。同时,通过继承BaseMapper接口,我们可以直接使用其提供的CRUD方法,无需再手动编写对应的Service和...
首先,我们要理解tk.mybatis,它是一个对Mybatis进行二次封装的轻量级框架。tk.mybatis提供了更简洁的注解方式,减少了XML配置文件的使用,使代码更加简洁易读。它支持自动映射、动态SQL等功能,使得在处理数据库...
4. **DAO层实现**:DAO(Data Access Object)层是myBatis应用的重要组成部分,它封装了对数据库的所有操作。在My01和My02的案例中,可能会有对应的UserDao接口及其实现,如UserMapperImpl,通过SqlSession执行SQL并...
当访问`/users/{id}`路径时,系统会通过Controller调用Service,进一步由Service调用Mapper接口,执行对应的SQL查询,最后返回查询结果。 以上就是SpringBoot整合Mybatis的基本流程。这个过程涉及到SpringBoot的...
- 在查询父表时,MyBatis会自动联查子表,将结果封装到父实体的子实体属性中。 4. **多对多关系映射** - 多对多关系通常涉及中间表,使用`<collection>`标签处理。定义一个集合类型的属性,表示与之关联的多个...
学习笔记——mybatis的起步(1) 1.什么是框架? 他是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高...
MyBatis BaseDAO 是一种基于 MyBatis 框架的工具类库,它旨在简化数据库操作,通过封装常见的CRUD(Create、Read、Update、Delete)方法,为开发者提供便利,减少重复代码,提高开发效率。在Java Web 开发中,...
使用实体对象时,Mybatis会自动处理对象的每个属性,只要在SQL映射文件中使用`#{object.property}`的格式即可。在示例的XML映射文件中,可以看到`#{lifetouchRelease.typeIdentification}`和`#{lifetouchRelease....
在系统设计上,员工实体(Employee)通常包含如ID、姓名、职位、入职日期等属性,这些属性对应数据库表中的字段。服务层(Service)封装了业务逻辑,如添加员工、删除员工、更新员工信息等。这些服务接口会被控制器...
<context id="MySQLContext" targetRuntime="MyBatis3"> connectionURL="jdbc:mysql://localhost:3306/testdb" userId="root" password="password"/> type="XMLMAPPER"/> enableUpdateByExample=...
使用MyBatis的mapper接口调用时,有特定的要求,例如方法名和Mapper XML中的id必须一致。 Mapper编写有几种方式,包括XML和注解两种,XML方式编写需要遵循MyBatis的语法规则,而注解方式则直接在接口的方法上使用...
通过DispatcherServlet进行请求分发,使用ModelAndView封装模型数据和视图信息,通过HandlerMapping映射请求到对应的处理器,再通过ViewResolver解析并渲染视图。SpringMVC还支持数据验证、本地化和主题等高级功能,...
对于分页查询,Mybatis提供了LIMIT和OFFSET关键字的封装,可以在SQL语句中添加分页条件,例如: ```xml <select id="selectEmpsByPage" resultType="Emp"> SELECT * FROM emp != null"> LIMIT #{page.pageSize} ...
在实体类(如`User.java`)中,你可以看到`@Table`、`@Id`等注解,用于定义表名和主键。而在Mapper接口中,`@Select`、`@Insert`、`@Update`、`@Delete`等注解可以将SQL直接写在方法上。 项目中可能还包括一个`...
实体层是MyBatis架构中的关键部分,它负责封装数据库中的表数据,为业务逻辑提供对象模型。 首先,我们需要理解什么是实体类(Entity Class)。实体类通常对应于数据库中的一个表,它的属性对应于表的列,而方法则...