mybatis学习笔记(四) --- 一对一关联
2016-11-14 11:03
351 查看
其实一对一关联其实是为了联表查询
主要查询语句如下:
1.我们还是先建数据库,数据库book表和 user_differ,这两张表示有关联的
2.定义实体类 Book
3.定义 sql 映射文件
4.测试
主要查询语句如下:
select * from book,user_differ where book_user_id = user_id and user_id = #{id}
1.我们还是先建数据库,数据库book表和 user_differ,这两张表示有关联的
DROP TABLE IF EXISTS `book`; CREATE TABLE `book` ( `book_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `book_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL, `book_user_id` int(11) DEFAULT NULL, PRIMARY KEY (`book_id`) ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of book -- ---------------------------- INSERT INTO `book` VALUES ('1', 'nodejs', '1'); INSERT INTO `book` VALUES ('2', 'js经典', '2'); INSERT INTO `book` VALUES ('3', 'react全栈', '1');
DROP TABLE IF EXISTS `user_differ`; CREATE TABLE `user_differ` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(20) DEFAULT NULL, PRIMARY KEY (`user_id`) ) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of user_differ -- ---------------------------- INSERT INTO `user_differ` VALUES ('1', 'updateUserxxxxx'); INSERT INTO `user_differ` VALUES ('2', 'qqq'); INSERT INTO `user_differ` VALUES ('3', 'adsasd'); INSERT INTO `user_differ` VALUES ('4', 'adsasd'); INSERT INTO `user_differ` VALUES ('5', 'adsasd'); INSERT INTO `user_differ` VALUES ('10', 'k9999'); INSERT INTO `user_differ` VALUES ('11', 'k9999'); INSERT INTO `user_differ` VALUES ('12', 'k9999'); INSERT INTO `user_differ` VALUES ('96', 'k9999'); INSERT INTO `user_differ` VALUES ('97', 'kaiser'); INSERT INTO `user_differ` VALUES ('98', 'kaiser'); INSERT INTO `user_differ` VALUES ('99', 'kaiser');
2.定义实体类 Book
public class Book { private int id; private String name; private User user; get/set方法 }
3.定义 sql 映射文件
<?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.userDao.userMapperOne2One"> <select id="getRelate" parameterType="int" resultMap="relateMap"> select * from book,user_differ where book_user_id = user_id and user_id = #{id} </select> <resultMap id="relateMap" type="com.vo.Book"> <id column="book_id" property="id"/> <result column="book_name" property="name"/> <association column="book_user_id" property="user" javaType="com.vo.User"> <id column="user_id" property="id"/> <result column="user_name" property="name"/> </association> </resultMap> </mapper>
4.测试
public class testOne2One { public static void main(String[] args) throws IOException { //省略获取SQLsession这一步了 List<Book> books = session.selectList("com.userDao.userMapperOne2One.getRelate",1); System.out.println(books); } }
相关文章推荐
- Mybatis学习笔记-一对一关联
- mybatis学习笔记(九)一对一关联表查询
- Mybatis学习笔记(6)--一对一的关联使用resultType输出类型
- Mybatis学习笔记-一对一关联
- MyBatis学习笔记:一对一和一对多关联表查询
- 表一对一关联([尚硅谷]_张晓飞_Mybatis 学习笔记三)
- Mybatis学习之一对一关联查询
- (转)MyBatis框架的学习(五)——一对一关联映射和一对多关联映射
- MyBatis学习(五):MyBatis的一对一关联如何操作
- MyBatis一对多双向关联——MyBatis学习笔记之七
- MyBatis笔记05 - 一对一关联查询
- 【Mybatis学习笔记】系列之二:Mybatis双项一对多关联
- MyBatis 学习总结(五)—— 一对一关联表查询
- MyBatis学习笔记(五)——实现关联表查询
- Mybatis学习笔记-一对多关联
- MyBatis学习(一)之一对一关联映射查询
- Mybatis学习笔记-一对多关联
- Hibernate视频学习笔记(4)多对一及一对一关联映射
- Hibernate学习笔记_08_一对一单向、双向主键关联
- mybatis学习笔记三(实现关联数据的查询)