美文网首页
(一) MyBatis 环境搭建(基于IDEA 的Maven)

(一) MyBatis 环境搭建(基于IDEA 的Maven)

作者: 花季浅忆 | 来源:发表于2019-03-05 15:41 被阅读0次

关于idea 配置maven环境就不多说了,自定百度。
1.搭建步骤:File->new ->Project->Maven,然后一路Next就可以了。


01.png
02.png
  1. 创建好项目后在pom.xml中添加mybatis和 mysql的 maven依赖
      <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.8</version>
       </dependency>
       <!-- mybatis -->
       <dependency>
           <groupId>org.mybatis</groupId>
           <artifactId>mybatis</artifactId>
           <version>3.4.1</version>
       </dependency> 

3.如下图所示


03.png

a)在mysql里面建一个数据库名字叫做mybatis,然后再mybatis里面建一个students表。创建表的语句在上图中students.sql中(该文件不是配置需要的,而是方便学习自己添加的),然后建一个Student实体类,包含id,name,sal三个属性。 util包下面建一个 MybatisUtil 类方便学习,在resources(这个是系统自己创建的)包下面 创建 Mybatis的配置文件,mybatis.xml 。 同时创建一个文件夹mapper,然后再mapper创建一个Student 类的映射文件 SutdentMapper.xml
b) 他们的内容分别如下:
SutdentMapper.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">
<!-- 以下namespace名字可以随便写,但是一般都写成实体类的名字-->
<mapper namespace="com.flyz.app01.Student">
    <!-- resultMap标签:映射实体与表
         type属性:表示实体全路径名
         id属性:为实体与表的映射取一个任意的唯一的名字
    -->
    <resultMap type="com.flyz.app01.Student" id="studentMap">
        <!-- id标签:映射主键属性
             result标签:映射非主键属性
             property属性:实体的属性名
             column属性:表的字段名
        -->
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="sal" column="sal"/>
    </resultMap>

    <select id="findById" parameterType="int" resultType="com.flyz.app01.Student">
         select * from students where id = #{id}
   </select>
</mapper>
04.png
注意图中画横线的地方,要写成实体类的全类名。

mybaits.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"/>
            <!-- 数据库连接相关配置 ,这里动态获取config.properties文件中的内容-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false" />
                <property name="username" value="root" />
                <property name="password" value="wscjwacs" />
            </dataSource>
        </environment>
    </environments>
    <!-- mapping文件路径配置 -->
    <mappers>
        <mapper resource="mapper/StudentMapper.xml"/>
    </mappers>

</configuration>
05.png

MyBatisUtil.java

package com.flyz.util;

import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;

import com.flyz.app01.Student;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * 工具类
 * @author AdminTC
 */
public class MybatisUtil {
     
    /**
     * 测试
     */
    public static void main(String[] args) {

        //定义读取文件名
        String resources = "mybatis.xml";
        //创建流
        Reader reader=null;
        try {
            //读取mybatis-config.xml文件到reader对象中
            reader= Resources.getResourceAsReader(resources);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //初始化mybatis,创建SqlSessionFactory类的实例
        SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
        //创建session实例
        SqlSession session=sqlMapper.openSession();
        //传入参数查询,返回结果
        Student user=session.selectOne("findById",1);
        //输出结果
        System.out.println(user.getName());
        //关闭session
        session.close();
    }
}

运行项目:


06.png

—————————————————————————————————————
以上基本实现了,MyBatis的配置,下面简化一下配置:
在resources文件夹下建一个db.properties文件内容如下:

mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8
mysql.username=root
mysql.password=wscjwacs

在mybatis.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.flyz.Student" alias="student"/>
 </typeAliases>
 

 <!-- 设置一个默认的连接环境信息 -->
 <environments default="mysql_developer">
 
     <!-- 连接环境信息,取一个任意唯一的名字 -->
     <environment id="mysql_developer">
         <!-- mybatis使用jdbc事务管理方式 -->
         <transactionManager type="jdbc"/>
         <!-- mybatis使用连接池方式来获取连接 -->
         <dataSource type="pooled">
             <!-- 配置与数据库交互的4个必要属性 -->
             <property name="driver" value="${mysql.driver}"/>
             <property name="url" value="${mysql.url}"/>
             <property name="username" value="${mysql.username}"/>
             <property name="password" value="${mysql.password}"/>
         </dataSource>
     </environment>
     
     
     <!-- 连接环境信息,取一个任意唯一的名字 -->
     <environment id="oracle_developer">
         <!-- mybatis使用jdbc事务管理方式 -->
         <transactionManager type="jdbc"/>
         <!-- mybatis使用连接池方式来获取连接 -->
         <dataSource type="pooled">
             <!-- 配置与数据库交互的4个必要属性 -->
             <property name="driver" value="${oracle.driver}"/>
             <property name="url" value="${oracle.url}"/>
             <property name="username" value="${oracle.username}"/>
             <property name="password" value="${oracle.password}"/>
         </dataSource>
     </environment>
 </environments>
 
 <!-- 加载映射文件-->
 <mappers>
 
     <mapper resource="com/flyz/StudentMapper.xml"/>
 </mappers>
 
</configuration>
07.jpg

StudentMapper.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">
<!-- 以下namespace名字可以随便写,但是一般都写成实体类的名字-->

<mapper namespace="com.flyz.app01.Student">
    <!-- resultMap标签:映射实体与表
         type属性:表示实体全路径名
         id属性:为实体与表的映射取一个任意的唯一的名字
    -->
    <resultMap type="student" id="studentMap">
        <!-- id标签:映射主键属性
             result标签:映射非主键属性
             property属性:实体的属性名
             column属性:表的字段名
        -->
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="sal" column="sal"/>
    </resultMap>


    <select id="findById" parameterType="int" resultType="student">
         select * from students where id = #{id}
   </select>


</mapper>
08.jpg
[传送门](https://download.csdn.net/download/wzgbgz/10997961
ps:不知道csdn怎么设置积分的默认是5积分了,如果有需要请给我发私信,我免费发

相关文章

网友评论

      本文标题:(一) MyBatis 环境搭建(基于IDEA 的Maven)

      本文链接:https://www.haomeiwen.com/subject/uhhouqtx.html