用idea 搭建mybatis

首先新建一個mavan 項目 選擇Createfrom archetype  選擇archetype-webapp 創建

在pom.xml文件裏配置需要的包

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.40</version>
  </dependency>
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.2</version>
  </dependency>
  <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
  </dependency>
  <!-- https://mvnrepository.com/artifact/javax.el/javax.el-api -->
  <dependency>
    <groupId>javax.el</groupId>
    <artifactId>javax.el-api</artifactId>
    <version>3.0.0</version>
  </dependency>
  <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
  <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
  </dependency>
  <!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
  <dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
  </dependency>
  <dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>4.1.4</version>
  </dependency>

</dependencies>

創建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>

//配置文件

    <properties resource="db.properties"/>

//起別名    

<typeAliases>

        <typeAlias type="com.oracle.mapper.Role" alias="role"/>

    </typeAliases>

    <environments default="development">

        <environment id="development">

            <transactionManager type="JDBC"/>

dataSource標籤

是配置數據源的鏈接信息 type屬性是供我們對數據庫連接方式的配置 

UNPOOLED 非數據庫連接池 

POOLED 數據庫連接池

JNDL 數據源

property標籤是定義數據庫的各類參數

            <dataSource type="POOLED">

                <property name="driver" value="${driver}"/>

                <property name="url" value="${url}"/>

                <property name="username" value="${username}"/>

                <property name="password" value="${password}"/>

            </dataSource>

        </environment>

    </environments>

3mapper標籤是引入映射器

註解:<mapper class=“類的全限定名”/>

XML:<mapper resource=“包名/包名/xxx.xml>

    <mappers>

        <mapper resource="mapper/roleMapper.xml"/>

    </mappers>

</configuration>



resources創建數據庫連接的配置文件db.properies 

driver=com.mysql.jdbc.Driver

username=root

password=53542316

url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&tcharacterEncoding=UTF-8



resources創建映射器mapper文件夾創建mapper.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.oracle.mapper.RoleMapper">

    <!-- type:映射實體類的數據類型 idresultMap的唯一標識 -->

    <resultMap type="com.oracle.mapper.Role" id="Map">

        <!-- column:庫表的字段名 property:實體類裏的屬性名 -->

        <id column="id" property="id"/>

        <result column="rolename" property="rolename"/>

        <result column="note" property="note"/>

    </resultMap>

    <select id="selectAll" resultMap="Map">

        select * from t_role

    </select>

    <select id="getRole"

            parameterType="long"

            resultType="role">

        SELECT * FROM t_role WHERE id=#{id}

    </select>

    <insert id="addRole"

            parameterType="role" useGeneratedKeys="true" keyProperty="id">

        INSERT into t_role(rolename,note) VALUES(#{rolename},#{note})

    </insert>

    <select id="gRole" resultType="int" >

        SELECT COUNT(*)FROM t_role

    </select>

    

</mapper>



創建ManualExample

public class ManualExample {

    public static voidmain(String[] args) {

        //會話工廠

        SqlSessionFactory sessionFactory=null;

        //讀取配置文件

        String resource ="mybatis-config.xml";

        InputStream inputStream =null;

        try {

           //從類路徑中尋找文件

            inputStream = Resources.getResourceAsStream(resource);

        } catch (IOException e) {

            e.printStackTrace();

        }

        sessionFactory =newSqlSessionFactoryBuilder().build(inputStream);

        //從工廠中取一個會話, 類似於 Connection

        SqlSession session = sessionFactory.openSession();

        System.out.println(session);

       //聲明接口 session生成一個我們看不見的實現類

        RoleMapper roleMapper = session.getMapper(RoleMapper.class);

        Role role = roleMapper.getRole(1);

        System.out.println(role.getRolename()); 

        session.commit();

        session.close();

    }

}

java包中創建接口類

public interface RoleMapper {

    //接口名字和剛纔的mapper.xml定義的id要一致

    public Role getRole(longl);

    public void addRole(Role role);

    public int gRole();

    public List<Role> selectAll();

}








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