user类

<?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.mapper.UserMapper">

<resultMap id="userMap" type="User"> //user对象映射
<id property="userId" column="user_id" javaType="int"></id>//user的Id
<result property="userName" column="user_name" javaType="string"/> //user的属性
<result property="userMoney" column="user_money" javaType="string"/>
</resultMap>

<resultMap id="userAndInfoMap" type="User">
<id property="userId" column="user_id" javaType="int"></id>
<result property="userName" column="user_name" javaType="string"/>
<result property="userMoney" column="user_money" javaType="string"/>
<!-- <association property="info" resultMap="com.mapper.UserInfoMapper.infoMap" javaType="UserInfo"/> -->  // user对象包含的对象的配置方式一(user的sql里面写join连接info表)

<association property="info" column="user_id" javaType="UserInfo"   //user对象包含的对象的配置方式一(各查各的互补影响)
select ="com.mapper.UserInfoMapper.findUserInfoByUserId"> 
</association>

</resultMap>

<insert id="addUser" parameterType="User">
insert into user values(null,#{user.userName},#{user.userMoney})
</insert>

<delete id="deleteUserByuserId">
delete from user where user_id = #{id}
</delete>

<update id="updateUser" parameterType="User">     //parameterType="User" 表示传递的参数的类型   //id="updateUser"使用的方法名
update user set user_name=#{user.userName},user_money=#{user.userMoney
} where user_id=#{user.userId}
</update>

<select id="selectUserByuserId" resultMap="userAndInfoMap">   // resultMap="userAndInfoMap"返回值的类型,如果返回值是List<UserInfo>也用这个类型
select * from user u left join userInfo i on u.user_id = i.user_id where u.user_id = #{id}
</select>

<select id="findAllUser" resultMap="userMap">
select * from user
</select>

<select id="findUserCount" resultType="int">
select count(*) from user where user_id !=2
</select>

<select id="findUserByuserNameLike" resultMap="userMap">
select * from user where user_name like '%${userName}%'
</select>

</mapper>

          userInfo类

<?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.mapper.UserInfoMapper">

<resultMap id="infoMap" type="UserInfo">//对象映射
<id property="infoId" column="info_id" javaType="int"></id>
<result property="infoName" column="info_name" javaType="string"/>
</resultMap>

<select id="findUserInfoByid" resultMap="infoMap">
select * from userInfo where info_id =#{id}
</select>
<select id="findUserInfoByUserId" resultMap="infoMap">
select * from userInfo where user_id =#{id}
</select>
</mapper>

mybatis一简单one2one关系xml配置的更多相关文章

  1. MyBatis入门程序(基于XML配置)

    创建一个简单的MyBatis入门程序,实现对学生信息的增删改查功能(基于XML配置) 一.新建一个Java工程,导入MyBatis核心jar包.日志相关的jar包以及连接Oracle数据库所需驱动包, ...

  2. Spring Boot 框架下使用MyBatis访问数据库之基于XML配置的方式

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  3. android动画(1)各种动画属性表,简单代码,xml配置

    1.动画的属性表 1.1 常用属性 它们可以通过代码setXXX,getXXX,也可在xml中配置. 属性[类型] 功能 备注 Duration[long] 属性为动画持续时间 时间以毫秒为单位 fi ...

  4. MyBatis学习笔记3--使用XML配置SQL映射器

    <resultMap type="Student" id="StudentResult"> <id property="id&quo ...

  5. Spring和mybatis整合后的mybais-config.xml配置

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...

  6. struts2 mybatis spring hibernate 框架 pom.xml配置 下载地址

    访问以下地址:搜索需要框架的配置  选择需要的版本 http://mvnrepository.com

  7. 单独使用MyBatis的简单示例

    单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...

  8. Spring注解配置和xml配置优缺点比较

    Spring注解配置和xml配置优缺点比较 编辑 ​ 在昨天发布的文章<spring boot基于注解方式配置datasource>一文中凯哥简单的对xml配置和注解配置进行了比较.然后朋 ...

  9. springboot中xml配置之@ImportResource

    springboot中进行相关的配置往往有java配置和xml配置两种方式. 使用java的方式配置只需要使用@configuration注解即可,而使用xml的方式配置的话需要使用@ImportRe ...

随机推荐

  1. 湘潭邀请赛+蓝桥国赛总结暨ACM退役总结

    湘潭邀请赛已经过去三个星期,蓝桥也在上个星期结束,今天也是时候写一下总结了,这应该也是我的退役总结了~ --------------------------------湘潭邀请赛----------- ...

  2. asp.net core 使用 web deploy 部署网站

    1.添加角色和功能中 web服务器(iis)->管理工具->管理服务  打勾并安装 2.安装 web deploy,也可以通过 web平台安装程序 来安装,搜索web deploy就可以了 ...

  3. 提升node.js中使用redis的性能

    问题初现 某基于node.js开发的业务系统向外提供了一个dubbo服务,提供向第三方缓存查询.设置多项业务数据并聚合操作结果.在QPS达到800时(两台虚拟机,每台机器4Core8G4node进程) ...

  4. MySQL中使用union all获得并集的排序

    项目中有时候因为某些不可逆转的原因使得表中存储的数据难以满足在页面中的展示要求.之前的项目上有文章内容的展示功能,文章分为三个状态待发布.已发布.已下线.他们在数据表中判断状态的字段(PROMOTE_ ...

  5. vue-cli 使用 webpack-bundle-analyzer

    # build for production and view the bundle analyzer report npm run build --report ​

  6. Django project troubleshootings

    1. 当django project文件夹放到cgi-bin目录下面时会出现下面的错误: [Wed Jan 09 01:52:52.611690 2019] [core:notice] [pid 15 ...

  7. Groovy 语法学习

    一.配置 Groovy 环境: 下载 Groovy(Groovy 依赖 Java,所以需要 JDK 环境):http://www.groovy-lang.org/download.html 配置环境变 ...

  8. C# 说说lock到底锁谁?(1)

    写在前面 最近一个月一直在弄文件传输组件,其中用到多线程的技术,但有的地方确实需要只能有一个线程来操作,如何才能保证只有一个线程呢?首先想到的就是锁的概念,最近在我们项目组中听的最多的也是锁谁,如何锁 ...

  9. Java基础知识盘点(一)- 基础篇

    基本功 面向对象特征 封装.继承.多态和抽象 1.封装:给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法,来改变它内部的数据. 在Java中,其访问权限有3种修饰符:publi ...

  10. python cookbook 小结

    最近一直在看python cookbook.这本书主要讲的是python 语言的一些编程素材.正如它的名字一样,烹饪书.就好像再讲如何处理食材(各种类型的数据),然后再煮菜(算法).打个比方,煮菜随便 ...