本 例使用idea来进行mybatis的入门操作
1、创建一个java项目。
使用alt+insert快捷键 创建一个module,使用maven操作,选择next,然后填入Groupld 、Artifactld,选择版本
注意: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();
}
}
}