博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBaits关联查询一对一、一对多
阅读量:7028 次
发布时间:2019-06-28

本文共 7693 字,大约阅读时间需要 25 分钟。

MyBaits 3.2.6

MySQL 5.5.12

JDK1.6

 

模型:

CREATE TABLE `person` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`name` varchar(24) NOT NULL COMMENT '用户名',`pswd` varchar(16) NOT NULL COMMENT '密码',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户'CREATE TABLE `extinfo` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`personid` bigint(20) NOT NULL COMMENT '用户id',`email` varchar(32) DEFAULT NULL COMMENT 'email',`qq` bigint(20) DEFAULT NULL COMMENT 'QQ号',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用户扩展信息(一个用户只能有一条扩展记录)'CREATE TABLE `address` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`personid` bigint(20) NOT NULL COMMENT '用户id',`addr` varchar(128) DEFAULT NULL COMMENT '地址',`zipcode` varchar(8) DEFAULT NULL COMMENT '邮编',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COMMENT='地址(一个用户可以有多个地址)'CREATE TABLE `orders` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',`personid` bigint(20) NOT NULL COMMENT '用户ID',`product` varchar(128) NOT NULL COMMENT '产品',`num` int(11) NOT NULL COMMENT '数量',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8

 

public class Person implements Serializable {private long id;private String name;          //用户名private String pswd;          //密码private Extinfo extinfo;private List
addressList=new ArrayList
(0);private List
ordersList=new ArrayList
(0);public class Extinfo implements Serializable {private long id;private long personid; //用户idprivate String email; //emailprivate long qq; //QQ号public class Address implements Serializable {private long id;private long personid; //用户idprivate String addr; //地址private String zipcode; //邮编public class Orders implements Serializable {private long id;private long personid; //用户IDprivate String product; //产品private int num; //数量

 

 

insert into person(name,pswd) values(#{name},#{pswd})
update person set name=#{name},pswd=#{pswd} where id=#{id}
delete from person where id = #{value}

 

#全局日志配置log4j.rootLogger=debug, stdout#包下所有类的日志级别log4j.logger.org.apache.ibatis=debuglog4j.logger.java.sql.Connection=info, stdoutlog4j.logger.java.sql.Statement=debug, stdoutlog4j.logger.java.sql.PreparedStatement=debug, stdout#日志输出到控制台log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l  %m%n#关闭Spring日志log4j.category.org.springframework = OFF

 

 

D:\jdk1.6.0_45\bin\java -Didea.launcher.port=7533 -Didea.launcher.bin.path=C:\IDEA.13.0.1\bin -Dfile.encoding=UTF-8 -classpath D:\jdk1.6.0_45\jre\lib\charsets.jar;D:\jdk1.6.0_45\jre\lib\deploy.jar;D:\jdk1.6.0_45\jre\lib\javaws.jar;D:\jdk1.6.0_45\jre\lib\jce.jar;D:\jdk1.6.0_45\jre\lib\jsse.jar;D:\jdk1.6.0_45\jre\lib\management-agent.jar;D:\jdk1.6.0_45\jre\lib\plugin.jar;D:\jdk1.6.0_45\jre\lib\resources.jar;D:\jdk1.6.0_45\jre\lib\rt.jar;D:\jdk1.6.0_45\jre\lib\ext\dnsns.jar;D:\jdk1.6.0_45\jre\lib\ext\localedata.jar;D:\jdk1.6.0_45\jre\lib\ext\sunjce_provider.jar;D:\jdk1.6.0_45\jre\lib\ext\sunmscapi.jar;D:\jdk1.6.0_45\jre\lib\ext\sunpkcs11.jar;D:\IdeaProjects\mybaitsdemo2\out\production\mybaitsdemo2;D:\IdeaProjects\mybaitsdemo2\lib\asm-3.3.1.jar;D:\IdeaProjects\mybaitsdemo2\lib\junit-4.0.jar;D:\IdeaProjects\mybaitsdemo2\lib\cglib-2.2.2.jar;D:\IdeaProjects\mybaitsdemo2\lib\log4j-1.2.16.jar;D:\IdeaProjects\mybaitsdemo2\lib\mybatis-3.2.6.jar;D:\IdeaProjects\mybaitsdemo2\lib\slf4j-api-1.7.5.jar;D:\IdeaProjects\mybaitsdemo2\lib\javassist-3.17.1-GA.jar;D:\IdeaProjects\mybaitsdemo2\lib\slf4j-log4j12-1.7.5.jar;D:\IdeaProjects\mybaitsdemo2\lib\commons-logging-1.1.1.jar;D:\IdeaProjects\mybaitsdemo2\lib\mysql-connector-java-5.1.17-bin.jar;C:\IDEA.13.0.1\lib\idea_rt.jar com.intellij.rt.execution.application.AppMain mypkg.dao.PersonDAO2014-03-27 18:11:13 org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:139)  ==>  Preparing: select *,p.id as p_id, e.id as e_id, a.id as a_id,e.personid as e_pid ,a.personid as a_pid,o.id as o_id,o.personid as o_pid from person p left join address a on p.id=a.personid left join extinfo e on p.id = e.personid left join orders o on p.id = o.personid where p.name like '%b%'2014-03-27 18:11:13 org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:139)  ==> Parameters:2014-03-27 18:11:13 org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:139)  <==      Total: 15Person{id=1, name='张三b', pswd='111'}Extinfo{id=1, personid=1, email='adf@as.com', qq=1231412341}Address{id=1, personid=1, addr='adsaaaa', zipcode='2342342'}Address{id=2, personid=1, addr='werwqfqw', zipcode='2234234'}Address{id=3, personid=1, addr='qwefaz', zipcode='2342342'}Orders{id=1, personid=1, product='aaa', num=2}Person{id=2, name='李四b', pswd='222'}Extinfo{id=2, personid=2, email='jkks@sa.com', qq=827238782}Address{id=4, personid=2, addr='vzczsd', zipcode='13234234'}Address{id=5, personid=2, addr='aaaaaaaaa', zipcode='2342356'}Address{id=6, personid=2, addr='asawsd', zipcode='4564565'}Orders{id=2, personid=2, product='bbb', num=3}Orders{id=3, personid=2, product='ccc', num=1}Person{id=3, name='王五b', pswd='111'}Extinfo{id=3, personid=3, email='8238@aa.com', qq=234253234}Address{id=7, personid=3, addr='jkhkky', zipcode='2342342'}Orders{id=4, personid=3, product='ddd', num=3}Orders{id=5, personid=3, product='asdf', num=21}Person{id=5, name='ggggb', pswd='password'}Extinfo{id=5, personid=5, email='2323423W@asd.com', qq=8992837422}Orders{id=7, personid=5, product='zzdfa', num=232}Orders{id=8, personid=5, product='ggg', num=66}Person{id=15, name='testnameb', pswd='password'}Person{id=19, name='testnameb', pswd='password'}Process finished with exit code 0

 

 

 

 

 

转载地址:http://ezrxl.baihongyu.com/

你可能感兴趣的文章
request使用代理
查看>>
QThread详解
查看>>
Oracle联合多个子查询(inner join)
查看>>
wpf无边框窗体移动和大小调整
查看>>
[PHP] 算法-选择排序的PHP实现
查看>>
UWP 扩展/自定义标题栏的方法,一些概念和一些注意事项
查看>>
uio.c 分析【转】
查看>>
MongodDB---初识
查看>>
js调用ajax案例2,使用ok
查看>>
淘宝开放平台获取沙箱token
查看>>
.NET Core下的Spring Cloud——前言和概述
查看>>
GDI+命中测试的效率[r]
查看>>
Yet Another STORM
查看>>
详细解说IIS运用程序池以及运用程序池回收【转】
查看>>
MS CRM 2011 用Jscript打开新窗口的几种方法
查看>>
(轉貼) 5交大生創「推推王」 遠征矽谷 (News)
查看>>
MapInfo格式到ArcInfo格式的转换
查看>>
[CF Skills].NET CF3.5中确定设备的平台类型(版本号)
查看>>
电子书下载:C# 5.0 Pocket Reference
查看>>
AsmStudio 汇编语言集成开发环境 破解
查看>>