标题 ##本教程是一个快速入门程序 帮助同学们快速建立Mybatis程序
Mybatis简介;
Mybatis 和hibernate一样都是java的ORM框架 ,Mybatis和hibernate 显得更轻,简化hibernate的配置文件。把sql语句封装到配置文件中。
下面让我们快速建立一个HelloWord程序
首先你在网上下载Mybatis 下载之后并解压
lib文件夹: 是Mybatis自带的一些jar文件
LICENSE:这是Mybatis的许可证书(不关心)
mybatis-3.4.1.jar: 这是Mybatis的主要jar文件
mybatis-3.4.1.pdf:这是自带的官方文档(可惜是英文的 对于那些英语不好的简直就是白纸一张哈哈 网上有中文版的 可以下载看下)
好了 废话不多说了 下面就开始我们的一个程序Hello Word
第一步:你建立一个java项目 MybatisDemo并建立一个包Mybatis.com
第二步:建立lib文件夹 并导入Mybatis.jar文件和数据库连接的jar包 ,我这使用数据库是MySql数据库
第三步:导入Mybatis配置文件和映射文件(注意:需要在网上下载 mybatis 没有自带)并在src目录下写映射文件
mybatis映射文件是:
mybaisMappen.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "http://mybatis.org/dtd/mybatis-3-mapper.dtd" "mybatis-3-mapper.dtd" >
<mapper namespace="Mybatis.com.Student">
<select id="getStudent" parameterType="int" resultType="Mybatis.com.Student">
update student set sex="女" where id=#{id}
</select>
</mapper>
mybatis配置文件是:
confim.xml 如下:`
mybatis工作环境配置 默认配置是开发环境 还有一个是工作环境 Work
<environments default="development">
<environment id="development">
<!-- 配置数据库的事务管理 -->
<transactionManager type="JDBC" />
<!-- 配置数据库的连接信息 -->
<!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
<!-- POOLED 表示支持JDBC数据源连接池 -->
<!-- UNPOOLED 表示不支持数据源连接池 -->
<!-- JNDI 表示支持外部数据源连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3308/Mybatis" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="Mybatis/com/mybatisMappen.xml"/>
</mappers>
</configuration>
我们在包中建立一个学生类 用来持久化查询数据适应
Student.class
public class Student {
private Integer id;
private String name;
private String sex;
private int age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + "]";
}
}
下面编写测试类Test
import java.io.InputStream;
import java.util.ArrayList;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class Test {
public static void main(String[] args) throws Exception {
//第一步:加载mybatis配置文件使用类文件加载器
InputStream iStream=Test.class.getClassLoader().getResourceAsStream("confim.xml");
//第二步:构建一个sessionfactory 工厂 一个sessionfactoty就是一个数据库的实例
SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(iStream);
//创建一个sqlsession的实例并打开
SqlSession session=sessionFactory.openSession();
//找到sql语句在映射文件中的命名区间,找到它
//语法是:映射文件所在的包名+映射文件名(不包括后缀名)+映射文件的namespace+select标签的id的值
String statement = "Mybatis.CRUD.Test.com.Student.getStudent";
Student user=(Student) session.selectOne(statement,3);
System.out.println(user);
}
}