1. MyBatis中的一对一关联关系
1.1 创建两个表以及对应的pojo
1.创建人员表(tb_person):
CREATE TABLE tb_person (
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR ( 32 ),
age INT,
sex VARCHAR ( 8 ),
card_id INT UNIQUE,
FOREIGN KEY ( card_id ) REFERENCES tb_idcard ( id ));
INSERT INTO tb_person(name,age,sex,card_id) VALUES('zhangsan',29,'女',1);
INSERT INTO tb_person(name,age,sex,card_id) VALUES('lisi',29,'男',2)
人员表的Pojo Tb_person:
package beans.pojo;
public class Tb_person {
private Integer id;
private String name;
private Integer age;
private String sex;
private Tb_idcard tb_idcard; //主键所在类的对象
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Tb_person() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Tb_idcard getTb_idcard() {
return tb_idcard;
}
public void setTb_idcard(Tb_idcard tb_idcard) {
this.tb_idcard = tb_idcard;
}
@Override
public String toString() {
return "Tb_person{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
", tb_idcard=" + tb_idcard +
'}';
}
}
2.创建身份证表(tb_idcard):
CREATE TABLE tb_idcard (
id INT PRIMARY KEY AUTO_INCREMENT,
sfzh VARCHAR ( 18 ),
bfjg VARCHAR ( 50 ));
INSERT INTO tb_idcard(sfzh,bfjg) VALUES('1234567894561333','东昌府公安局');
INSERT INTO tb_idcard(sfzh,bfjg) VALUES('5548465132151845','东昌府公安局');
人员表的Pojo Tb_idcard:
package beans.pojo;
public class Tb_idcard {
private Integer id;
private String sfzh;
private String bfjg;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getSfzh() {
return sfzh;
}
public void setSfzh(String sfzh) {
this.sfzh = sfzh;
}
public String getBfjg() {
return bfjg;
}
public void setBfjg(String bfjg) {
this.bfjg = bfjg;
}
@Override
public String toString() {
return "Tb_idcard{" +
"id=" + id +
", sfzh='" + sfzh + '\'' +
", bfjg='" + bfjg + '\'' +
'}';
}
}
1.2 配置 数据库相应的文件
jdbc.properties:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/···
jdbc.username=····
jdbc.password=····
log4j.properties
# Global logging configuration,建议开发环境中要用debug
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 核心配置文件-->
<properties resource="jdbc.properties"></properties>
<!--配置类型别名-->
<typeAliases>
<package name="beans.pojo"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">