通过接口直接映射Sql(XML)
接口定义:
package cn.et.lession02.xml;
public interface UserInfoMapper {
public UserInfo selectUserInfo(String id);
}
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>
<!--
mybatis的核心配置文件
1.数据库的连接信息(连接池)
-->
<properties resource="jdbc.properties"></properties>
<environments default="development">
<environment id="development">
<!-- 事务管理器 默认使用jdbc事务 -->
<transactionManager type="JDBC"/>
<!-- 默认连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${driverClass}"/>
<property name="url" value="${url}"/>
<property name="username" value="${userid}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 映射sql语句 -->
<mappers>
<mapper resource="cn/et/lession02/xml/UserInfoMapper.xml" />
</mappers>
</configuration>
UserInfoMapper.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">
<!--
接口绑定 将接口中的方法和对于sql声明进行绑定
接口绑定的参数 可以通过索引的方式获取 索引从0开始
比如(1,'abc') 0=1 1='abc'
param1=1 param2='abc'
-->
<mapper namespace="cn.et.lession02.xml.UserInfoMapper">
<select id="selectUserInfo" resultType="cn.et.lession02.xml.UserInfo">
select * from UserInfo where uid = #{uid}
</select>
</mapper>
main方法
package cn.et.lession02.xml;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class TestHelloWorld {
public static void main(String[] args) throws Exception {
// 指定核心配置文件的位置
String resource = "cn/et/lession02/xml/mybatis.xml";
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
// SqlSessionFactoryBuilder构建工厂类
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 工厂类获取SqlSession实例
SqlSession session = sqlSessionFactory.openSession();
//通过session获取UserInfoMapper.xml连接的接口
UserInfoMapper user = (UserInfoMapper) session.getMapper(UserInfoMapper.class);
//通过接口的传递参数进入UserInfoMapper.xml里的sql进行查询,查询的结果返回给接口的方法
UserInfo userInfo = user.selectUserInfo("1");
//输出
System.out.println(userInfo);
}
}
通过接口直接映射Sql(注解)
接口定义
package cn.et.lession02.annotion;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
public interface UserInfoMapper {
@Select(" select * from UserInfo where uid = #{uid}")
public UserInfo selectUserInfo(@Param("uid")String uid);
}
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>
<!--
mybatis的核心配置文件
1.数据库的连接信息(连接池)
-->
<properties resource="jdbc.properties"></properties>
<environments default="development">
<environment id="development">
<!-- 事务管理器 默认使用jdbc事务 -->
<transactionManager type="JDBC"/>
<!-- 默认连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${driverClass}"/>
<property name="url" value="${url}"/>
<property name="username" value="${userid}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 映射sql语句 -->
<mappers>
<!-- 注解 连接接口 -->
<mapper class="cn.et.lession02.annotion.UserInfoMapper"/>
</mappers>
</configuration>
main方法
package cn.et.lession02.annotion;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class TestHelloWorld {
public static void main(String[] args) throws Exception {
// 指定核心配置文件的位置
String resource = "cn/et/lession02/annotion/mybatis.xml";
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
// SqlSessionFactoryBuilder构建工厂类
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 工厂类获取SqlSession实例
SqlSession session = sqlSessionFactory.openSession();
//通过session获取UserInfoMapper.xml连接的接口
UserInfoMapper user = (UserInfoMapper) session.getMapper(UserInfoMapper.class);
//通过接口的传递参数进入UserInfoMapper.xml里的sql进行查询,查询的结果返回给接口的方法
UserInfo userInfo = user.selectUserInfo("2");
//输出
System.out.println(userInfo);
}
}