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. Js重拾

    如果重新声明 JavaScript 变量,该变量的值不会丢失: 在以下两条语句执行后,变量 carname 的值依然是 "Volvo": var carname="Vol ...

  2. Transparent PageRoute in Flutter for displaying a (semi-) transparent page

    import 'package:flutter/widgets.dart'; class TransparentRoute extends PageRoute<void> { Transp ...

  3. Pandas:深市股票代码前补足0

    #深市代码前补充0----------------- df[' #先增加一列 #将2列合并为新列 df['代码合并'] = df['补充'] + df['股票代码'] #再取后6位 df['股票代码' ...

  4. 腾讯这套SpringMvc面试题你了解多少?(面试必备)

    1.什么是 SpringMvc? 答:SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整 2.Spring MVC 的优点: 答: 1)它是基于组件技术的. ...

  5. mime类型的解析与应用

    MIME类型解析   MIME(Multipurpose Internet Mail Extensions)多用途网络邮件扩展类型,可被称为Media type或Content type, 它设定某种 ...

  6. jQuery Validate和Thymeleaf相关

    jQuery Validate https://www.cnblogs.com/liuhongfeng/p/5135676.html https://www.cnblogs.com/linjiqin/ ...

  7. Bytom储蓄分红合约解析

    储蓄分红合约简介 储蓄分红合约指的是项目方发起了一个锁仓计划(即储蓄合约和取现合约),用户可以在准备期自由选择锁仓金额参与该计划,等到锁仓到期之后还可以自动获取锁仓的利润.用户可以在准备期内(dueB ...

  8. Linear Regression with machine learning methods

    Ha, it's English time, let's spend a few minutes to learn a simple machine learning example in a sim ...

  9. C# base64编码、解码

    public class TransferCode { #region base-64编码.解码 /// <summary> /// BASE64编码 /// </summary&g ...

  10. shell 按行读取文件的内容

    test.py: #coding=utf- import subprocess compilePopen = subprocess.Popen('gcc haha',shell=True,stderr ...