eclipse搭建Mybatis框架

1.什么是MyBatis?
    MyBatis 是一个可以自定bai义SQL、存储过程和高级映射的持久du层框架。MyBatis 摒除zhi了大部分的JDBC代码、手工设置参数和结果dao集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。
    个人理解,Mybatis就是一种对于后台的封装框架,没有对于前台文件的一些存放,通过xml文件对于SQL语句的最终执行。

2.需要的jar包:mybatis-3.2.2.jarmysql-connector-java-5.1.49-bin.jar

3.数据库,自己创建一个数据库,有一两个字段就行,在实体类中与之对应(一般实体类我们和表名一致);

4.新建一个Java Project项目,项目结构如下:

5.首先导入两个jar包

6.创建dao、daomain、test三个Package包

7.在src下新建com.dao包,在新建Book.java;

//我本身电脑里数据库有一个book表,这个对应自己创建就行,里面的成员变量都是你表中的字段属性

package com.dao;

import java.util.Date;

public class Book {
	private char bid;
	private String bname;
	private String author;
	private String pubcomp;
	private Date pubdate;
	private int bcount;
	private double money;
	public char getBid() {
		return bid;
	}
	public void setBid(char bid) {
		this.bid = bid;
	}
	public String getBname() {
		return bname;
	}
	public void setBname(String bname) {
		this.bname = bname;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public String getPubcomp() {
		return pubcomp;
	}
	public void setPubcomp(String pubcomp) {
		this.pubcomp = pubcomp;
	}
	public Date getPubdate() {
		return pubdate;
	}
	public void setPubdate(Date pubdate) {
		this.pubdate = pubdate;
	}
	public int getBcount() {
		return bcount;
	}
	public void setBcount(int bcount) {
		this.bcount = bcount;
	}
	public double getMoney() {
		return money;
	}
	public void setMoney(double money) {
		this.money = money;
	}
	
	
	
}

8.在src下新建com.daomain包,然后新建Interface文件,BookMapper.java

package com.daomain;

public interface BookMapper {
	public int count();
}

9.在src下新建全局配置文件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>
    <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/library"/><!--用自己的数据库名字  -->
                <property name="username" value="root"/>   <!-- 用自己的用户名密码 -->
                <property name="password" value=""/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="BookMapper.xml"/> <!-- 这里配置映射文件 -->
    </mappers>
</configuration>

10.新建映射配置文件BookMpper.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属性,不然会报错,可看做包名-->
<mapper namespace="com.daomain.BookMapper">
      <select id="count" resultType="int">
        SELECT COUNT(*) FROM book
    </select>
</mapper>

11.最后建立测试类Test

package com.test;
 
import java.io.IOException;
import java.io.InputStream;
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.daomain.BookMapper;
 
public class Test{
	public static void main(String[] args) throws IOException {
		count();
	}
	
	public static void count() throws IOException{
		 	String resource = "Mybatis-config.xml";
	        InputStream inputStream = Resources.getResourceAsStream(resource);
	        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
	        SqlSession session = factory.openSession();
	        //---------------
	        BookMapper userMapper = session.getMapper(BookMapper.class);
	        int book = userMapper.count();
	        System.out.println("你所在的表中有"+book+"条数据。");
	        //--------------
	        session.close();
		
	}
	
	 
}

常见错误:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值