IDEA中Mybatis的配置

1 设置阿里云镜像

如果maven的本地仓库(.m2)没有配置文件,可以从IDEA的安装目录下拷贝
settings配置文件的位置:
位置:D:\Program Files\JetBrains\IntelliJ IDEA 2018.2.5\plugins\maven\lib\maven3\conf
添加如下镜像内容:

<mirrors>    
        <mirror>
          <id>alimaven</id>
          <mirrorOf>central</mirrorOf>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
		</mirror>
</mirrors>

在拷贝到.m2目录中

2 pom.xml文件的配置

<!--属性配置(也可以说是java版本的设置)-->
 <properties>
        <java.version>1.8</java.version>
    </properties>
<!-- 编译插件中可以设置Java的编译级别(根据上面java.version中版本号) -->
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
<!--Idea默认找不到对应的xml配置路径
原因: 默认在资源目录下才能加载,如果将mapper.xml转移到了java目录下,就必须在pom中进行配置,作为资源文件的设定目录
方法: 在pom文件的build标签中,加入resource标签如下代码 -->
 <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml
                
            
        
<!-- 用于存放java依赖包 -->
 <dependencies>
 
        <!--mysql的依赖包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>

        <!--mybatis的依赖包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
   
</dependencies>

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>
    <settings>
        <!--当返回行的所有列都是空时,MyBatis默认返回null-->
        <setting name="returnInstanceForEmptyRow" value="true"/>
        <!--显示sql语句-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>

    </settings>

    <!--设置别名-->
    <typeAliases>
        <typeAlias alias="User" type="com.gxa.(项目名称).pojo.User"/>
        <!--<package name="com.gxa.ehome.pojo" />-->
    </typeAliases>


    <environments default="development">

        <environment id="development">
            <!--使用了 JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域-->
            <transactionManager type="JDBC"/>
            <!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
            <!-- POOLED 表示支持JDBC数据源连接池 -->
            <!-- UNPOOLED 表示不支持数据源连接池 -->
            <!-- JNDI 表示支持外部数据源连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/(数据库名称)?useSSL=false&characterEncoding=utf8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!-- 映射文件方式1,一个一个的配置
        <mapper resource="com.gxa.(项目名称).mapper.UserMapper" /> -->

        <!-- 映射文件方式2,自动扫描包内的Mapper接口与配置文件 -->
        <package name="com.gxa.(项目名称).mapper"/>
    </mappers>
</configuration>

pojo类,创建一个类名与数据库相同,属性名和数据库字段名相同的pojo对象。

数据库映射XML文件(UserMapper.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.gxa.v.mapper.UserMapper">
    <select id="selectById" resultType="User" parameterType="int">
      select * from users where id=#{id};
   </select>

    <select id="selectAll" resultType="User">
        select * from users
    </select>

    <insert id="insertUser" parameterType="User">
      insert into users(username) values(#{username});
   </insert>
</mapper>

创建测试用例

import com.gxa.ehome.mapper.UserMapper;
import com.gxa.ehome.pojo.User;
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 org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class TestUser {
    SqlSession sqlSession = null;
    UserMapper mapper = null;
    @Before
    public void init() throws IOException {
    	//加载mybatis的配置资源
        InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
		
		//利用工厂模式映射相对应的接口实现类
		//默认情况
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(inputStream);
        sqlSession = factory.openSession();
        mapper = sqlSession.getMapper(UserMapper.class);
    }

    @Test
    public void testSelectAll() throws IOException {
        List<User> users = mapper.selectAll();
        System.out.println(users);
        //事务是开启状态, 如有增删改操作记得提交事务
      
    }

    @After
    public void testSelectById(){
       SqlSession.close();
    }
}

如果xml中的mysql语句报黄色警告,修改方言即可
settings->dialect-> 两项改为mysql

你可能感兴趣的:(框架的使用)