mybatis之简单入门
一、什么是 MyBatis?
(1)MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。(2)MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
(3)MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
二、我们用mybatis开发一个简单的Java项目——对一张(student)进行数据查询
1、我们需要mybatis-3.4.2.jar包和mysql的java驱动包mysql-connector-java-5.1.30.jar;
需要的同学可以去这两个地方下载相关的包
https://github.com/mybatis/mybatis-3/releases
http://www.mysql.com/products/connector/
2、首先我们建立一张student表,并插入数据:
create table student (
stuId int(10) not null auto_increment,
stuName varchar(50) default null,
primary key(stuId)
)
insert into student values('1','zhangsan');
insert into student values('2','wang'),('3','lisi');
insert into student values('4','gong');
3、然后我新建一个Dynamic Web Project项目,并把下载的两个包放在WebContent->WEB-INF->lib下面,如图:
4、在src->com.test.mapper包里新建StudentMapper.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="/">
<select id="selectStudent" resultType="hashmap">
SELECT * FROM student
</select>
</mapper>
5、在src的跟目录里新建mybatis-config.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>
<!-- 全局配置参数 -->
<settings>
<!-- 配置log4j日志 -->
<setting name="logImpl" value="LOG4J"/>
</settings>
<!-- 环境集合属性对象 -->
<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:///student"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 映射器 -->
<mappers>
<mapper resource="com/test/mapper/StudentMapper.xml"/>
</mappers>
</configuration>
6、继续在arc->com.test.app包里面新建Test.java测试类
package com.test.app;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
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.apache.log4j.Logger;
public class Test {
public static void main(String[] args) throws IOException{//处理异常
Logger logger = Logger.getLogger(Test.class);
//1.得到数据库连接
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.得到执行sql的对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.执行sql语句
List<Map> list = sqlSession.selectList("selectStudent");
//4.输出结果
for (Map map : list) {
//System.out.println(map);
logger.debug(map);
}
//5.关闭数据库
sqlSession.close();
}
}
7、项目结构如下:
8、保存,运行结构如下:
{stuId=1, stuName=zhangsan}
{stuId=2, stuName=wang}
{stuId=3, stuName=lisi}
{stuId=4, stuName=gong}
这样我们就利用mabatis开发了一个超简单java项目