Mybatis-使用xml配置環境創建會話工廠建立連接

xml環境配置文件:

mybatis-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <!--設置-->
    <settings>
        <!--啓用駝峯命名規則-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <!--定義別名-->
    <typeAliases>
        <typeAlias alias="book" type="cn.rogueq.entity.Book"/>
    </typeAliases>


    <!--定義數據庫信息,默認使用development數據庫構建環境-->
    <environments default="development">
        <environment id="development">
            <!--採用jdbc事務管理-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置數據庫鏈接信息-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url"
                          value="jdbc:mysql://127.0.0.1:3306/rogueq?serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <!--定義映射器-->
    <mappers>
        <mapper resource="cn/rogueq/mybatis/BookMapper.xml"/>
    </mappers>

</configuration>

映射文件:

BookMapper.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="cn.rogueq.mybatis.BookMapper">
    <select id="selectById" resultType="book">
        select * from book where id = #{id}
    </select>
</mapper>


Mapper接口:

package cn.rogueq.mybatis;

import cn.rogueq.entity.User;
import org.apache.ibatis.annotations.Param;

public interface UserMapper {

    User selectById(@Param("id") Long id);

}

實體類:

package cn.rogueq.entity;

import java.util.Date;

public class Book {
    private Long id;
    private String name;
    private String author;
    private Date insertTime;
    private Date updateTime;

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public Date getInsertTime() {
        return insertTime;
    }

    public void setInsertTime(Date insertTime) {
        this.insertTime = insertTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", insertTime=" + insertTime +
                ", updateTime=" + updateTime +
                '}';
    }
}

 

啓動類:

public class MyBatisDemo {
    public static void main(String[] args) {
        String resource = "mybatis-config.xml";
        try {
            InputStream inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = null;
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            SqlSession sqlSession = sqlSessionFactory.openSession();
            BookMapper mapper = sqlSession.getMapper(BookMapper.class);
            Book book = mapper.selectById(1L);
            System.out.println(book);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

執行結果:

Book{id=1, name='深入淺出Mybatis技術原理與實戰', author='楊開振', insertTime=Tue Mar 26 06:43:47 CST 2019, updateTime=Tue Mar 26 06:43:47 CST 2019}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章