1、引入对应坐标
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
2、配置sqlMapConfig.xml文件,此文件为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>
<!--引入jdbc.Properties 配置文件-->
<properties resource="jdbc.properties"></properties>
<!--映射对应对象并取别名,typeAliases 必须在 prioerties 标签下-->
<typeAliases>
<typeAlias type="com.itcast.domain.UserInfo" alias="user"></typeAlias>
</typeAliases>
<!--配置环境,并指定默认环境名称-->
<environments default="developement">
<!--环境配置,并指定当前环境名称-->
<environment id="developement">
<!--指定事务管理类型:JDBC or MANAGED .当前配置指定为JDBC-->
<transactionManager type="JDBC"></transactionManager>
<!--
数据源:
POOLED:这种数据源的实现利用“池”的概念将JDBC连接对象组织起来
UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭连接。
JNDI:这个数据源的实现是为了能在如EB或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置个JD上下文的引用。
-->
<!--指定当前数据源类型是连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--加载映射-->
<mappers>
<!--
加载方式有如下几种
1、使用完全限定资源定位符(URL).
2、使用相对于类路径的资源引用.
3、使用映射器接口实现类的完全限定类名.
4、将包内的映射器接口实现全部主册为映射器.
-->
<mapper resource="com/itcast/mapper/UserInfoMapper.xml"></mapper>
</mappers>
</configuration>
3、配置对应对象的操作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="userInfoMapper" >
<!--查询单条数据-->
<select id="findOne" parameterType="int" resultType="user">
select * from userInfo where id=#{id}
</select>
<!--查询集合-->
<select id="findAll" resultType="user" >
select * from userinfo
</select>
<!--新增-->
<insert id="save" parameterType="user" >
insert into userinfo values (#{Id},#{userName},#{passWord})
</insert>
<!--修改-->
<update id="edit" parameterType="user">
update userInfo set username=#{userName},password=#{passWord} where id=#{Id}
</update>
<!--删除-->
<delete id="remove" parameterType="int">
delete from userInfo where id=#{id}
</delete>
</mapper>
4、使用mybatis调用配置文件中的方法
@Test
public void test1() throws IOException {
// 读取配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
// 获取SqlSession会话工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
// 获取Sql会话
SqlSession sqlSession = sqlSessionFactory.openSession();
// 调用配置文件中指定方法
List<UserInfo> userInfoList = sqlSession.selectList("userInfoMapper.findAll");
for (UserInfo user :
userInfoList) {
System.out.println(user);
}
// 释放资源
sqlSession.close();
}