天天看點

mybatis架構搭建環境以及配置檔案

項目檔案位置(暫時這樣放實際開發不是這樣的)

mybatis架構搭建環境以及配置檔案

Configuration.xml  檔案mybatis配置

<?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="User" type="bean.User"/>

    </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://127.0.0.1:3306/test1"/>

                <property name="username" value="root"/>

                <property name="password" value=""/>

            </dataSource>

        </environment>

    </environments>

    <mappers>

        <mapper resource="model/User.xml"/>

    </mappers>

</configuration>

pom.xml檔案相關依賴  

<properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <maven.compiler.source>1.7</maven.compiler.source>

        <maven.compiler.target>1.7</maven.compiler.target>

    </properties>

    <dependencies>

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.11</version>

            <scope>test</scope>

        </dependency>

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.47</version>

        </dependency>

        <dependency>

            <groupId>org.mybatis</groupId>

            <artifactId>mybatis</artifactId>

            <version>3.4.1</version>

        </dependency>

        <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-jdbc</artifactId>

    <version>4.2.5.RELEASE</version>

</dependency>

    </dependencies>

User.xml檔案  寫sql的檔案

<?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.UserMapper">

    <select id="selectUserById" parameterType="int" resultType="User">

        select * from user where id=#{id}

    </select>

</mapper>

User實體類檔案

package bean;

public class User {

    private int id;

    private String userName;

    private String userAge;

    private String userAddress;

    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 getUserAge() {

        return userAge;

    }

    public void setUserAge(String userAge) {

        this.userAge = userAge;

    }

    public String getUserAddress() {

        return userAddress;

    }

    public void setUserAddress(String userAddress) {

        this.userAddress = userAddress;

    }

    @Override

    public String toString() {

        return "User [id=" + id + ", userName=" + userName + ", userAge="

                + userAge + ", userAddress=" + userAddress + "]";

    }

}

test.java測試類

package controller;

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 bean.User;

public class Test {

    private static SqlSessionFactory sqlSessionFactory;

    private static Reader reader;

    static{

        try {

            reader = Resources.getResourceAsReader("Configuration.xml");

            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

    public static SqlSessionFactory getSession(){

        return sqlSessionFactory;

    }

    public static void main(String[] args) {

        SqlSession session = sqlSessionFactory.openSession();

        try {

            User user = session.selectOne("mapper.UserMapper.selectUserById", 1);//沒有使用接口程式設計

            System.out.println(user.getUserAge());

            System.out.println(user.getUserAddress());

            System.out.println(user.getUserName());

        } finally {

            session.close();

        }

    }

}

注意如果使用的是接口變成方式,那就要把User.xml中的命名空間改為接口的路徑.