热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mybatis03xml增加字段映射及数据源外部配置

使用配置配置文件中使用配置处理resultType以及使用外部

使用配置

配置文件中使用配置处理resultType以及使用外部properties

处理resultType

当查询语句中的resultMap对应实体类时,如果实体类与数据库结构不一致,那么返回的值就是null,需要处理数据库表结构字段与实体类之间的字段映射。

<select id="findAll" resultMap="myUser">
select * from user
select>

增加实体类与数据库表结构映射

<resultMap id="myUser" type="com.example.domain.User">
<id column="id" property="userId">id>
<result column="name" property="userName">result>
<result column="sex" property="userSex">result>
<result column="address" property="userAddress">result>
<result column="birthDay" property="userBirthDay">result>
resultMap>

然后在select insert等节点上的resultMap引用这个id即可。

使用propertites配置数据库信息

增加jdbcConfig.propertites配置文件

jdbc.driver:com.mysql.jdbc.Driver
jdbc.url:jdbc:mysql://localhost:3306/scmdb?serverTimezOne=UTC&useUnicode=true&characterEncoding=UTF-8
jdbc.username:root
jdbc.password:123456

然后在mybatis中使用这个配置文件

<properties resource="jdbcConfig.properties">
properties>

<environments default="myBatis">

<environment id="myBatis">
<transactionManager type="JDBC">transactionManager>

<dataSource type="POOLED">

<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
dataSource>
environment>
environments>

配置文件总览

SqlMapConfigure.xml


PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">


<configuration>


<properties resource="jdbcConfig.properties">
properties>

<environments default="myBatis">

<environment id="myBatis">
<transactionManager type="JDBC">transactionManager>

<dataSource type="POOLED">

<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
dataSource>
environment>
environments>

<mappers>
<mapper resource="com/example/dao/IUserDao.xml">mapper>
mappers>
configuration>

jdbcConfig.properties

jdbc.driver:com.mysql.jdbc.Driver
jdbc.url:jdbc:mysql://localhost:3306/scmdb?serverTimezone=UTC&amp;useUnicode=true&amp;characterEncoding=UTF-8
jdbc.username:root
jdbc.password:123456

IUserDao.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.dao.IUserDao">
<!--配置查询所有-->
<resultMap id="myUser" type="com.example.domain.User">
<id column="id" property="userId"></id>
<result column="name" property="userName"></result>
<result column="sex" property="userSex"></result>
<result column="address" property="userAddress"></result>
<result column="birthDay" property="userBirthDay"></result>
</resultMap>
<select id="findAll" resultMap="myUser">
select * from user
</select>
<select id="findUserById" resultType="com.example.domain.User">
select * from user where id=#{value}
</select>
<insert id="saveUser" parameterType="com.example.domain.User">
<selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
select last_insert_id();
</selectKey>
insert into user(userName,address,sex,birthday) values (#{userName},#{address},#{sex},#{birthDay});
</insert>
<update id="updateUser" parameterType="com.example.domain.User">
update user set userName=#{userName},address=#{address},sex=#{sex},birthday=#{birthDay} where id=#{id};
</update>
<delete id="deleteUser">
delete from user where id=#{value};
</delete>
<select id="findUserByQueryVo" parameterType="com.example.domain.QueryVo" resultType="com.example.domain.User">
select * from user where username like #{user.userName}
</select>
</mapper>

在这里插入图片描述


推荐阅读
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
author-avatar
暧qs祢生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有