Mybatis3.x基本增删改查

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();
}

猜你喜欢

转载自blog.csdn.net/xj80231314/article/details/86517714
今日推荐