mybatis搭建框架基本步骤:
我用的是maven管理jar包,
第一步pom文件配置
<!--mybatis核心包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<!--mysql驱动包-->
<dependency>
<groupId>org.wisdom-framework</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34_1</version>
</dependency>
<!---->
<!--junit测试包-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
第二步创建表
DROP TABLE IF EXISTS `t_student`;
CREATE TABLE `t_student` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_student
-- ----------------------------
INSERT INTO `t_student` VALUES (1, '小明', '男');
INSERT INTO `t_student` VALUES (2, '小红', '女');
SET FOREIGN_KEY_CHECKS = 1;
第三步创建实体类
public class User {
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String sex;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
第四步创建实体类Mapper接口
public interface UserMapper {
/**
* 获取学生基本信息
* @return
*/
List<User> getAllUser();
}
第五步创建映射文件
<?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="mapper.UserMapper">
<select id="getAllUser" resultType="pojo.User">
select * from t_student;
</select>
</mapper>
第六步配置文件
可以在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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatistest"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--指向Mapper映射文件-->
<mappers>
<mapper resource="Mapper/UserMapper.xml"/>
</mappers>
</configuration>
第七步测试
import mapper.UserMapper;
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 org.junit.Test;
import pojo.User;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
public class MybatisTest {
@Test
public void getAllStudentIfo(){
//定义获取文件名
String resources="mybatis-config.xml";
//创建流
Reader reader = null;
//读取配置文件 到reader对象中
try {
reader = Resources.getResourceAsReader(resources);
} catch (IOException e) {
e.printStackTrace();
}
//初始化mbatis,创建SqlSessionFactory的实例
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory build = sqlSessionFactoryBuilder.build(reader);
// 创建session的实例
SqlSession sqlSession = build.openSession();
//获取UserMapper对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> allUser = mapper.getAllUser();
System.out.println(allUser);
//关闭流
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
输出结果
[User{name=‘小明’, sex=‘男’}, User{name=‘小红’, sex=‘女’}]