mybatis的入门操作

本 例使用idea来进行mybatis的入门操作

1、创建一个java项目。

使用alt+insert快捷键 创建一个module,使用maven操作,选择next,然后填入Groupld  、Artifactld,选择版本

mybatis的入门操作mybatis的入门操作

mybatis的入门操作

注意:Groupld  填入的是main文件目录下 java代码的目录结构,Artifactld是整个模块的命名空间,version发布的版本

2、配置pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
  <!--前面写好Groupld、Artifactld、version之后自动生成的--> 
    <groupId>cn.bdqn</groupId>
    <artifactId>mybatisDemo</artifactId>
    <version>1.0-SNAPSHOT</version>

  <!--导入依赖的jar包-->
    <dependencies>
<!--导入mybatis包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.2</version>
        </dependency>
<!--导入mysql包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
        </dependency>
<!--导入junit包-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
<!--导入log日志包-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
    </dependencies>
<!--导入导入在java包下的配置文件-->
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
</project>

3、编写resources目录下的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="dfc">
        <environment id="dfc">
            <!--事务管理,jdbc需要程序提交事务处理在增删改时,查询的时候不用,因为未对数据库内容作出实质性改动managed由容器进行事务的管理-->
            <transactionManager type="jdbc"></transactionManager>
<!--dataSource 是数据源的意思,pooled连接池的方式、unpooled是mybatis每次都会重新打开一个连接,close的时候会真正关闭、jndi是交给Spring去管理  -->
            <dataSource type="pooled">
<!--数据库信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/tcmp"/>
                <property name="username" value="root"/>
                <property name="password" value="wss"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="cn/bdqn/dao/UserMapper.xml"></mapper>
    </mappers>
</configuration>

4、在dao层写映射文件 采用的是反射机制

<?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是命名空间,也就是整个目录结构  resultType是结果类型,SQL语句查询到结果类型-->
<mapper namespace="cn.bdqn.dao.UserMapper">
        <select id="QueryCount" resultType="int">
            SELECT COUNT(1) FROM t_user
        </select>
</mapper>

5、在测试类里边写测试方法

public class UserMapperTest {
    @Test
    public  void queryCountTest(){
        SqlSession sqlSession =null;
        SqlSessionFactory factory=null;
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        Integer n=0;
        try {
            //读取配置文件的内容,生成的字节流
            InputStream is = Resources.getResourceAsStream("mybatis_config.xml");
            factory=builder.build(is);
            sqlSession=factory.openSession();
            n=sqlSession.selectOne("cn.bdqn.dao.UserMapper.QueryCount");
            System.out.println(n);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}