程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> MyBatis HelloWorld

MyBatis HelloWorld

編輯:JAVA綜合教程

MyBatis HelloWorld


一、MyBatis簡介


iBatis是apche的一個開源項目,2010年遷移到google code後改名為MyBatis,2013年前已到github.MyBatis是一個基於java的持久層框架,與hibernate相比更加簡單。

二、MyBatis特點


開源的優秀持久層框架 sql語句與代碼分離 面向配置編程 支持復雜數據映射 動態sql

三、MyBatis開發環境搭建


工程目錄:
這裡寫圖片描述

3.1下載jar包

mybatis-3.2.8.zip(3.2.8之後的jar包沒有log4j,這一點我暫時也不知道為什麼) mysql-connector,選擇JDBC Driver for MySQL下載。

3.2在mysql中新建數據庫

MyBatis是一個持久層框架,也就是和數據庫打交道的,mysql新建一個數據庫用來做測試。

create database book

建立一張user表:

Create Table: CREATE TABLE `User` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `username` varchar(20) NOT NULL,
  `passWord` varchar(20) NOT NULL,
  PRIMARY KEY (`id`)
) 

插入幾條記錄:

+----+----------+------------+
| id | username | passWord   |
+----+----------+------------+
|  1 | 小華     | xiaohua    |
|  2 | 柯南     | 666666     |
|  3 | 慕白     | 123456     |
|  4 | 小明     | xiaoming12 |
+----+----------+------------+

這樣數據庫准備好了,也可以在mysql圖形界面中操作。

3.3配置開發環境

3.3.1新建java project

在eclipse中新建java project,命名為Mybatis HelloWorld

3.3.2導入jar包

單擊工程名右鍵->build path->config build path->add external jars,加入以下jar包mysql-connector-java-5.1.38-bin.jarmybatis-3.2.8.jarasm-3.3.1.jarcglib-2.2.2.jarcommons-logging-1.1.1.jarjavassist-3.17.1-GA.jarlog4j-1.2.17.jarlog4j-api-2.0.2.jarlog4j-core-2.0.2.jarslf4j-api-1.7.5.jarslf4j-log4j12-1.7.5.jar

3.3.3配置log4j

在src目錄下添加log4j.properties,log4j可用來打印sql查詢語句:

log4j.rootLogger=DEBUG, CONSOLE

#Console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

3.3.4 添加User.java

新建ucas.book.map、ucas.book.pojo、ucas.book.test包
在ucas.book.pojo包下新建User實體:

package ucas.book.pojo;

public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

3.3.5Mybatis配置文件

在ucas.book.map包下加入mybatis.xml和UserMapper.xml:

數據庫連接和相關配置信息寫在mybatis.xml裡面:





    
        
    


    
        
            
            
            
            
                
                
                
                
            
        
    

    
        
        
    

sql代碼寫在UserMapper.xml中:





    
    
    
    
    

中寫的是通過id查詢記錄的sql語句。

3.3.6測試代碼

package ucas.book.test;

import java.io.IOException;
import java.io.Reader;

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 ucas.book.pojo.User;

public class TestUser {
    public static void main(String[] args) {
        String resource = "ucas/book/map/mybatis.xml";
        Reader reader = null;
        SqlSession session;

        try {
            reader = Resources.getResourceAsReader(resource);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);

        session = factory.openSession();
        User user = session.selectOne("getUserById", 1);

        System.out.println("\nusername:" + user.getUsername());

        session.close();

    }
}

結果:
這裡寫圖片描述

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved