# 1、在Mysql中的database数据库建表book
use database10;
CREATE TABLE
`book` (
`book_id` int(11) NOT NULL AUTO_INCREMENT, //书的id号
`book_name` varchar(20) DEFAULT NULL, //书的名字
`book_content` varchar(20) DEFAULT NULL, //书的内容
`book_date` date DEFAULT NULL, //书的出版日期
PRIMARY KEY (
`book_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
# 2、在Eclipse中建一个Dynamic Web Project工程,工程名为MybatisDemo
在src文件下建两个包com.hhwy.model和com.hhwy.test和mybatis-config.xml文件。
2.1 com.hhwy.model下建一个Book的实体类
package com.hhwy.model;
import java.util.Date;
public class Book {
private Integer book_id;
private String book_name;
private String book_content;
private Date book_date;
public Integer getId() {
return book_id;
}
public void setId(Integer book_id) {
this.book_id = book_id;
}
public String getBook_name() {
return book_name;
}
public void setBook_name(String book_name) {
this.book_name = book_name;
}
public String getBookcontent() {
return bookcontent;
}
public void setBook_content(String book_content) {
this.book_content = book_content;
}
public Date getBook_date() {
return book_date;
}
public void setBook_date(Date book_date) {
this.book_date = book_date;
}
@Override
public String toString() {
return "Book [book_id=" + book_id + ", book_name=" + book_name + ", book_content=" + bookcontent + ", book_date=" + book_date
+ ", getId()=" + getId() + ", getBook_name()=" + getBook_name() + ", getBook_content()=" + getBook_content()
+ ", getBook_date()=" + getBook_date() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode()
+ ", toString()=" + super.toString() + "]";
}
}
2.2 com.hhwy.model下建一个Book的配置文件Book.xml
<?
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.hhwy.model.BookMapper">
<!-- 查找 -->
<
select
id=
"findBookById"
parameterType=
"int"
resultType=
"Book">
select* from book where book_id=#{book_id};
</
select>
<!-- 增加 -->
<
insert
id=
"addBook"
parameterType=
"Book"
useGeneratedKeys=
"true"
keyProperty=
"book_id">
insert into book(book_id,book_name,book_content,book_date)values(#{book_id},#{book_name},#{book_content},#{book_date})
</
insert>
<!-- 更新 -->
<
update
id=
"updateBook"
parameterType=
"Book">
update book1 set book_id=#{book_id},book_name=#{book_name},book_content=#{book_content},book_date=#{book_date} where book_id=#{book_id};
</
update>
<!-- 删除 -->
<
delete
id=
"deleteBook"
parameterType=
"int">
delete from book where book_id=#{book_id}
</
delete>
</
mapper>
2.3 mybatis-config.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>
<
typeAliases>
<
typeAlias
alias=
"Book"
type=
"com.hhwy.model.Book"/>
</
typeAliases>
<!-- 配置数据源相关信息 -->
<
environments
default=
"development">
<
environment
id=
"development">
<
transactionManager
type=
"JDBC"/>
<
dataSource
type=
"POOLED">
<
property
name=
"driver"
value=
"com.mysql.jdbc.Driver"/>
<
property
name=
"url"
value=
"jdbc:mysql://localhost:3306/db_database10?characterEncoding=utf-8"/>
<
property
name=
"username"
value=
"root"/>
<
property
name=
"password"
value=
"123456"/>
</
dataSource>
</
environment>
</
environments>
<
mappers>
<
mapper
resource=
"com/hhwy/model/Book.xml"></
mapper>
</
mappers>
</
configuration>
2.4 com.hhwy.test下的MybatisTest
package com.hhwy.test;
import java.io.IOException;
import java.io.Reader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.hhwy.model.Book;
public class MybatisTest {
private static SqlSessionFactory sqlSessionFactory;
private static Reader reader;
static{
try {
reader=Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
//查找
public static void findBookByID(int id){
SqlSession session=null;
session=sqlSessionFactory.openSession();
Book book=session.selectOne("com.hhwy.model.BookMapper.findBookById", id);
if(book==null){
System.out.println("null");
}else{
System.out.println(book);
}
session.close();
}
//删除
public static void deleteBookById(int id){
SqlSession session=null;
session=sqlSessionFactory.openSession();
int count=session.delete("com.hhwy.model.BookMapper.deleteBook", id);
if(count==0){
System.out.println("null");
}else{
System.out.println("已删除"+count+"条信息");
}
session.commit();
}
//增加
public static void insertBook(Book book){
SqlSession session=null;
session=sqlSessionFactory.openSession();
int count=session.insert("com.hhwy.model.BookMapper.addBook", book);
if(count==0){
System.out.println("null");
}else{
System.out.println("已增加"+count+"条信息");
}
session.commit();
}
//更新
public static void updateBook(Book book){
SqlSession session=null;
session=sqlSessionFactory.openSession();
session.update("com.hhwy.model.BookMapper.updateBook", book);
session.commit();
}
public static void main(String[] args){
Book book1=new Book();
book1.setId(10);
book1.setBook_name("恒华伟业");
book1.setBook_content("北京市火炬企业");
String date1="1998-09-08";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
Date dated1;
try {
dated1 = sdf1.parse(date1);
book1.setBook_date(dated1);
} catch (ParseException e) {
e.printStackTrace();
}
//另起Book的对象book2
Book book2=new Book();
book2.setId(22);
book2.setBook_name("恒华伟业");
book2.setBookcontent("北京市火炬企业");
String date2="1998-09-08";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
Date dated2;
try {
dated2 = sdf2.parse(date2);
book2.setBook_date(dated2);
} catch (ParseException e) {
e.printStackTrace();
}
findBookByID(2);
insertBook(book1);
//更改
book2.setId(9);
book2.setBook_name("恒华2");
updateBook(book2);
deleteBookById(7);
}
}
3.在WebContent中的WEB-INF下的lib包导入两个包
一个是连接数据库mysql的jar包:mysql-connector-java-5.1.10.jar
一个是mybatis框架包:mybatis-3.2.7.jar