10分钟入门MyBatis--跟我从零开始学MyBatis

1.准备MyBatis环境

1.1 create sql database

create database studentdb;
use studentdb;

create table student
(
	id int auto_increment primary key,
	name varchar(20) unique not null,
	age int not null,
	phone varchar(11) not null,
	address varchar(50) not null
);

insert into student values(null,'user1',21,'13311112222','hubeiwuhan');
insert into student values(null,'user2',32,'13311113333','jiangsuchangde');
insert into student values(null,'user3',14,'13314444222','shanghaipudong');
insert into student values(null,'user4',26,'13311555522','beijingdongcheng');
insert into student values(null,'user5',31,'13317777222','wuhanxudong');
	

1.2  Building SqlSessionFactory from 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="com/ibatis/config/sql.properties" />
	<settings>
		<setting name="cacheEnabled" value="false"/>
	</settings>
	<typeAliases>
		<typeAlias alias="Student" type="com.ibatis.entity.Student"/>
	</typeAliases>
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${driver}" />
				<property name="url" value="${url}" />
				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="com/ibatis/entity/maps/studentMapper.xml" />
	</mappers>
</configuration>

 1.3  sql.properties

 driver=com.mysql.jdbc.Driver
 url=jdbc:mysql://localhost:3306/studentdb
 username=root
 password=123

 1.4 Exploring Mapped SQL Statements

<?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.ibatis.entity.maps.StudentMapper">  
	<!--查询所有学生  -->
 	<select id="selectAllStudents" resultType="Student">
 		select * from Student
 	</select>
 	
 	<!-- 根据ID查询学生 -->
 	<select id="selectStudentById" resultType="Student" parameterType="int">
 		select * from Student where id=#{id}
 	</select>
 	
 	<!-- 添加学生 -->
 	<insert id="addStudent" parameterType="Student">
 		insert into Student(name,age,phone,address) 
 		values (#{name},#{age},#{phone},#{address})
 	</insert>
 	
 	<!-- 更新学生信息 -->
 	<update id="updateStudent" parameterType="Student">
 		update Student set 
 			name=#{name},
 			age=#{age},
 			phone=#{phone},
 			address=#{address}
 			where id=#{id}
 	</update>
 	
 	<!-- 删除学生信息 -->
 	<delete id="deleteStudent" parameterType="int">
 		delete from Student where id=#{id}
 	</delete>
 	
 	<!-- 根据学生姓名模糊查询学生 -->
 	<select id="selectStudentByName" parameterType="String" resultType="Student">
 		
 		select * from Student 
 		where name like "%"#{name}"%"
 	</select>
</mapper> 

 2.Start

2.1  building entityBean

package com.ibatis.entity;

import java.io.Serializable;

@SuppressWarnings("serial")
public class Student implements Serializable {

	private Integer id;
	private String name;
	private Integer age;
	private String phone;
	private String address;

	public Student(){
		
	}
	
	public Student(String name, Integer age, String phone, String address) {
		this.name = name;
		this.age = age;
		this.phone = phone;
		this.address = address;
	}


	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	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 getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@Override
	public String toString() {
		return "id:" + this.id + "  name:" + this.name + "  age:" + this.age
				+ "  phone:" + this.phone + "  address:" + this.address;
	}
}

 

2.2  building sqlSessionFactory

String resource = "com/ibatis/config/mybatis-config.xml"; 
InputStream inputStream = null;
	try {
		inputStream = Resources.getResourceAsStream(resource);
	} catch (IOException e) {
		e.printStackTrace();
	} 
 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session=sqlSessionFactory.openSession();

2.3 selectAllStudent

List<Student> list=session.selectList("selectAllStudents");

 2.4 selectStudentById

Student student = session.selectOne("selectStudentById",id);

 2.5  addStudent

this.session.insert("addStudent", student);
this.session.commit();

 2.6 updateStudent

this.session.update("updateStudent", student);
this.session.commit();

 2.7 deleteStudent

this.session.delete("deleteStudent", id);
this.session.commit();

 2.8  selectStudentsByName

List<Student> list=session.selectList("selectStudentByName",name);

 2.9  Test

posted @ 2012-04-11 11:05  Paul.Lau  阅读(4021)  评论(0编辑  收藏  举报