`

mysql 中mybatis 传参与返回参数

    博客分类:
  • SSIH
 
阅读更多
传入参数必须与配置文件中标明的参数一致

<select id="findByBookId" parameterType="java.lang.Integer" resultType="com.ichrono.rysmart.chronoline.bean.model.SportsBookFile">
select * from <include refid="tableName"/> t
where t.book_id=#{bookId}
</select>
传入String、Long等会报错

<select id="findByBookId" parameterType="java.lang.Long" resultType="com.ichrono.rysmart.chronoline.bean.model.SportsBookFile">
select * from <include refid="tableName"/> t
where t.book_id=#{bookId}
</select>
传入Integer 也会报错,不能自动转型


对于映射的model 类,如果数据库中的字段类型能够转型到model类的字段类型,那么就不会报错,否则则会报错
如数据库字段为 Int类型,则model类对应的字段可以为String 可以为Long 等。
如果数据库中字段为varchar 且存取的数据可以转化成int 或long等,则也不会报错,
否则会报错。

mybatis 插入和更新只返回行数,不能返回主键
只能通过以下方式:

<insert id="insert" parameterType="cn.softsea.model.DicCity" >
  <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >
    SELECT LAST_INSERT_ID()
  </selectKey>
  insert into Dic_City (City_Code, Provinces_Code,
    State_Code, City_Name, PY_Code,
    PY_Code_Short, Ext1, Ext2,
    Ext3, Ext4, Ext5)
  values (#{cityCode,jdbcType=VARCHAR}, #{provincesCode,jdbcType=VARCHAR},
    #{stateCode,jdbcType=VARCHAR}, #{cityName,jdbcType=VARCHAR}, #{pyCode,jdbcType=VARCHAR},
    #{pyCodeShort,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR},
    #{ext3,jdbcType=VARCHAR}, #{ext4,jdbcType=VARCHAR}, #{ext5,jdbcType=VARCHAR})
</insert>
调用Mapper返回主键:
//生成新对象用于插入
DicCity city = new DicCity();
city.setCityCode("330100");
city.setCityName("杭州市");



//获取mapper对象
DicCityMapper cityMapper = (DicCityMapper) SpringContextUtil.getBean("dicCityMapper");

int row = cityMapper.insert(city);    //insrt不再返回主键,只返回响应行数,这点和ibatis不同了

System.out.println("响应的行数:"+row);
//取得自增的标识列 ID的值
System.out.println("新插入的数据的ID:"+city.getId());

另:再解释一下selectKey 的 order="BEFORE"时,表示 selectKey 中的语句先执行,接着再执行insert语句,这用于oracle的sequence方式获取主键。

mysql 中用after id自动生成后 获得id ,返回回去。

数据库中字段 映射到map字段,取出时类型必须一致,否则报错
mysql数据库 日期可以传String

mysql 中表字段 限定了小数位数 ,即使存储的是整数,则查询的model里相应字段 仍然带有小数
比如 数据库字段 Decimal  长度 5 小数点 2
存储 70   则model里映射的是70.00




分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    mybatis001.zip

    在 MyBatis 项目中,pom.xml 文件通常会包含 MyBatis 和相关库(如 MySQL 驱动、日志库等)的依赖。例如,你可能会看到类似 `&lt;dependency&gt;` 标签,里面列出了 MyBatis 的版本号,如下: ```xml &lt;groupId&gt;org....

    spring+springmvc+mybatis搭建的一个佛山市房地产和建筑行业诚信管理系统附带mysql数据库

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

    基于Java SSM MySQL实现鲜花售卖系统【优质毕业设计、课程设计项目】.zip

    本项目是一个基于Java的SSM(Spring、SpringMVC、MyBatis)框架与MySQL数据库相结合的鲜花售卖系统。这是一个常见的Web应用开发实践,适用于学习和提升Java Web开发技能,尤其是对于毕业生或进行课程设计的学生来说...

    基于Java SSM MySQL实现社区生鲜订购系统【优质毕业设计、课程设计项目】.zip

    本项目是一个基于Java的SSM(Spring、SpringMVC、MyBatis)框架与MySQL数据库相结合的社区生鲜订购系统,适合用作毕业设计或课程设计的实践项目。这个系统不仅涵盖了基本的源代码,还包括了数据库设计以及环境配置的...

    基于Java SSM MySQL实现物流公司管理系统【优质毕业设计、课程设计项目】.zip

    本项目是一个基于Java的SSM(Spring、SpringMVC、MyBatis)框架与MySQL数据库相结合的物流公司管理系统,适用于毕业设计或课程设计实践。通过这个系统,学生可以深入理解企业级应用开发流程,并掌握相关技术栈的运用...

    基于ssm+mysql的团员管理系统源码数据库论文.docx

    【SSM+MySQL 团员管理系统】是一个基于Java SSM框架(Spring、SpringMVC、MyBatis)和MySQL数据库的毕业设计项目。本系统旨在为团组织提供一个高效、便捷的成员管理平台,实现对团员信息的录入、查询、更新和删除等...

    基于ssm+mysql学生社团管理系统源码数据库.docx

    - **MySQL**:MySQL 是全球最流行的开源关系型数据库之一,被广泛应用于各种规模的应用程序中。 #### 2. 架构设计 - **B/S架构**:B/S(Browser/Server)架构是一种典型的三层架构,包括表示层(浏览器)、业务逻辑...

    基于Spring Boot MySQL实现科研处管理信息系统【优质毕业设计、课程设计项目】.zip

    总的来说,这个项目为学习者提供了一个全面的实践平台,涵盖了Web开发中的许多核心技术,包括Spring Boot、MySQL数据库的使用,以及Java后端开发的基本流程,对于提升Java编程和项目管理能力具有很高的价值。...

    基于Java web的会议管理系统(含数据库脚本).zip

    开发者不再需要编写大量的JDBC代码,只需通过XML或注解方式配置SQL语句,Mybatis会自动处理结果映射和参数绑定。在本系统中,Mybatis作为数据访问层,使得数据操作更为简洁和高效。 数据库方面,系统选择了MySQL,...

    基于ssm框架的java毕业设计-网上拍卖系统(源码+说明+演示视频)

    在本项目中,MyBatis负责与MySQL数据库的交互,实现了数据的CRUD操作。 4. **MySQL数据库**:作为开源的关系型数据库管理系统,MySQL因其高性能、稳定性及易用性而被广泛应用。在这个网上拍卖系统中,MySQL存储了...

    ssm实战项目米米商城

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。它可以让你用XML或注解来映射SQL语句,从而更加灵活地控制SQL的编写。 在米米商城项目中,我们可以期待学习以下知识点: 1. **环境搭建**:如何...

    最新设计ssm房屋租赁系统--适合计算机毕设、大作业实训项目.rar

    4. **MySQL数据库**:虽然未在标签中明确提及,但通常SSM项目会使用MySQL作为后端数据库,存储房屋租赁系统中的租户信息、房源信息、租赁合同等数据。 5. **前端技术**:描述中提到的“l5”可能指的是HTML5,它是...

    基于ssm网月科技公司门户网站.zip

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。在网月科技公司的门户网站中,MyBatis可能被用来处理数据库操作,通过XML或注解方式定义SQL语句,与Java对象进行映射,简化数据库交互。 4. **Java*...

    【ssm项目源码】高校社团管理系统.zip

    在本项目中,SpringMVC负责接收前端请求,调用后端服务,处理结果并返回给前端展示。 3. **MyBatis框架**:MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC...

    基于jsp+SSM的班级同学录聚会报名网站.zip

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

    基于ssm的高校课程评价系统.zip

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。在本系统中,MyBatis作为数据库操作的桥梁,通过XML或注解方式定义SQL语句,实现了数据库查询、插入、更新和删除等操作。 4. **微信小程序**:微信...

    1000道 互联网Java工程师面试题 485页_PDF密码解除.pdf

    - **方法重载:**在Java中,接口不能重载方法,但在MyBatis中可以通过不同的参数列表实现类似的功能。 **10. Mybatis是如何进行分页的?分页插件的原理是什么?** - **分页实现:**可以通过在SQL语句中使用LIMIT...

    Java SSM基于HTML的“牧经校园“疫情防控网站【优质毕业设计、课程设计项目分享】

    开发者可能使用MySQL这样的关系型数据库管理系统来存储和管理这些数据,通过MyBatis与Java代码交互,完成数据的增删改查操作。 配置环境说明通常会涵盖如何搭建开发环境,如安装JDK、设置环境变量、导入项目到IDE...

    知善公益平台ssm,java

    **MyBatis** 是一个持久层框架,它允许开发者编写SQL语句并与Java对象进行映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis支持动态SQL,使得数据库操作更加灵活。 在提供的压缩包中,`aixin`...

    【ssm项目源码】超市供销存管理系统.zip

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。在这个超市管理系统中,MyBatis作为数据访问层,通过XML或注解方式定义SQL语句,与数据库进行交互,实现数据的增删改查操作。 4. **SQL操作**:在...

Global site tag (gtag.js) - Google Analytics