mybatis一简单one2one关系xml配置
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配置的更多相关文章
- MyBatis入门程序(基于XML配置)
创建一个简单的MyBatis入门程序,实现对学生信息的增删改查功能(基于XML配置) 一.新建一个Java工程,导入MyBatis核心jar包.日志相关的jar包以及连接Oracle数据库所需驱动包, ...
- Spring Boot 框架下使用MyBatis访问数据库之基于XML配置的方式
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- android动画(1)各种动画属性表,简单代码,xml配置
1.动画的属性表 1.1 常用属性 它们可以通过代码setXXX,getXXX,也可在xml中配置. 属性[类型] 功能 备注 Duration[long] 属性为动画持续时间 时间以毫秒为单位 fi ...
- MyBatis学习笔记3--使用XML配置SQL映射器
<resultMap type="Student" id="StudentResult"> <id property="id&quo ...
- Spring和mybatis整合后的mybais-config.xml配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...
- struts2 mybatis spring hibernate 框架 pom.xml配置 下载地址
访问以下地址:搜索需要框架的配置 选择需要的版本 http://mvnrepository.com
- 单独使用MyBatis的简单示例
单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...
- Spring注解配置和xml配置优缺点比较
Spring注解配置和xml配置优缺点比较 编辑 在昨天发布的文章<spring boot基于注解方式配置datasource>一文中凯哥简单的对xml配置和注解配置进行了比较.然后朋 ...
- springboot中xml配置之@ImportResource
springboot中进行相关的配置往往有java配置和xml配置两种方式. 使用java的方式配置只需要使用@configuration注解即可,而使用xml的方式配置的话需要使用@ImportRe ...
随机推荐
- Js重拾
如果重新声明 JavaScript 变量,该变量的值不会丢失: 在以下两条语句执行后,变量 carname 的值依然是 "Volvo": var carname="Vol ...
- Transparent PageRoute in Flutter for displaying a (semi-) transparent page
import 'package:flutter/widgets.dart'; class TransparentRoute extends PageRoute<void> { Transp ...
- Pandas:深市股票代码前补足0
#深市代码前补充0----------------- df[' #先增加一列 #将2列合并为新列 df['代码合并'] = df['补充'] + df['股票代码'] #再取后6位 df['股票代码' ...
- 腾讯这套SpringMvc面试题你了解多少?(面试必备)
1.什么是 SpringMvc? 答:SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整 2.Spring MVC 的优点: 答: 1)它是基于组件技术的. ...
- mime类型的解析与应用
MIME类型解析 MIME(Multipurpose Internet Mail Extensions)多用途网络邮件扩展类型,可被称为Media type或Content type, 它设定某种 ...
- jQuery Validate和Thymeleaf相关
jQuery Validate https://www.cnblogs.com/liuhongfeng/p/5135676.html https://www.cnblogs.com/linjiqin/ ...
- Bytom储蓄分红合约解析
储蓄分红合约简介 储蓄分红合约指的是项目方发起了一个锁仓计划(即储蓄合约和取现合约),用户可以在准备期自由选择锁仓金额参与该计划,等到锁仓到期之后还可以自动获取锁仓的利润.用户可以在准备期内(dueB ...
- 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 ...
- C# base64编码、解码
public class TransferCode { #region base-64编码.解码 /// <summary> /// BASE64编码 /// </summary&g ...
- shell 按行读取文件的内容
test.py: #coding=utf- import subprocess compilePopen = subprocess.Popen('gcc haha',shell=True,stderr ...