版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xj80231314/article/details/86517714
表:
CREATE TABLE t_person(
pid INT PRIMARY KEY,
pname VARCHAR2(20),
PAGE INT
);
CREATE TABLE t_book(
bid INT PRIMARY KEY,
bname VARCHAR2(20),
p_id INT,
FOREIGN KEY(p_id) REFERENCES t_person(pid)
);
INSERT INTO t_person VALUES(1,'张三',23);
INSERT INTO t_person VALUES(2,'李四',24);
insert into t_book values(11,'三国演义',1);
insert into t_book values(12,'水浒传',1);
insert into t_book values(13,'西游记',2);
COMMIT;
1.实体类:Person.java
package com.xj.entity;
public class Person {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
2.配置文件:src/mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd">
<configuration>
<!-- 配置环境 -->
<environments default="orcl">
<environment id="orcl">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/xj/entity/Person.xml"/>
</mappers>
</configuration>
3.映射文件:Person.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="PersonMapper">
<!-- 根据ID查询单个对象 -->
<select id="selectPerson" parameterType="int" resultType="com.xj.entity.Person">
select
pid as id,
pname as name,
page as age
from T_PERSON
where pid = #{id}
</select>
查询一个集合
<select id="getAllPerson" resultType="com.xj.entity.Person">
select
pid as id,
pname as name,
page as age
from T_PERSON
</select>
添加一个对象
<insert id="addPerson" parameterType="com.xj.entity.Person">
insert into t_person(pid, pname, page)
values(#{id},#{name},#{age})
</insert>
根据ID删除一个对象
<delete id="deletePerson" parameterType="int">
delete from t_person where pid = #{id}
</delete>
4.方法调用:
public static void main(String[] args) throws IOException {
String xmlPath = "Configuration.xml";
Reader reader = Resources.getResourceAsReader(xmlPath);
SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(reader);
SqlSession se = sf.openSession();
//查询单个对象
Person p1 = se.selectOne("PersonMapper.selectPerson", 2);
System.out.println(p1.getId() + p1.getName() + p1.getAge());
//查询一个集合
List<Person> plist = se.selectList("PersonMapper.getAllPerson");
for(Person p: plist){
System.out.println(p.getId() + p.getName() + p.getAge());
}
//添加一个对象
Person p3 = new Person();
p3.setId(3);
p3.setName("王五");
p3.setAge(26);
se.insert("PersonMapper.addPerson", p3);
//删除一个对象
se.delete("PersonMapper.deletePerson",1);
se.commit();
}