基于Eclipse下的Mybatis的增删改查的简单例子

# 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值