在入门学习中…
项目总体结构:
MyBatis的基本要素:
configuration.xml 全局配置文件
mapper.xml 核心映射文件
SqlSession 接口
-
configuration.xml是系统的核心配置文件,包含数据源和事务管理器等设置和属性信息。
-
environment:环境变量
transactionManager:事务管理器
dataSource:数据源
mappers:映射器
数据库内容:
一、新建项目
在lib中导入两个jar包:
二、创建configuration.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="devleopments">
<environment id="mysql">
<!-- 事务管理器 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 数据源 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/my01"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/sp/mapper/UserInfoMapper.xml"/>
</mappers>
</configuration>
三、创建实体类UserInfo
package com.sp.po;
public class UserInfo {
private int userId;
private String userName;
private int userAge;
private String userSex;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
@Override
public String toString() {
return "UserInfo [userId=" + userId + ", userName=" + userName + ", userAge=" + userAge + ", userSex=" + userSex
+ "]";
}
}
四、创建sql映射文件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">
<mapper namespace="com.sp.mapper">
<resultMap type="com.sp.po.UserInfo" id="usermap">
<result column="user_id" property="userId"/>
<result column="user_name" property="userName"/>
<result column="user_age" property="userAge"/>
<result column="user_sex" property="userSex"/>
</resultMap>
<!-- 查询信息 -->
<select id="selectUser" parameterType="int" resultMap="usermap" >
SELECT * FROM `user_info` WHERE user_id=#{userId}
</select>
</mapper>
五、测试程序Test
package com.sp.test;
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;
import com.sp.po.UserInfo;
public class Test {
public static void main(String[] args) {
try {
String resource = "configuration.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in,"mysql");
SqlSession session = sqlSessionFactory.openSession();
UserInfo user = (UserInfo)session.selectOne("com.sp.mapper.selectUser",3);
System.out.println(user);
session.close();
}catch(Exception e){
e.printStackTrace();
}
}
}