1.1 添加jar包
mybatis-3.5.1.jar————mybatis所需jar
mysql-connector-java-5.1.22-bin.jar————用来连接操作mysql数据库的jar包
1.2 编写配置文件
注意: 配置文件名称和位置不限,但是通常称为mybatis-config.xml,存入到src下
<?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="驱动器入口类的全名称"/>
<property name="url" value="url地址信息"/>
<property name="username" value="账户"/>
<property name="password" value="密码"/>
</dataSource>
</environment>
</environments>
<!--添加映射文件-->
<mappers>
<mapper resource="包名1/包名2/.../文件名.xml"/>
</mappers>
</configuration>
1.3 编写映射文件
<?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">
<!--在当前XML中编写针对User的CURD操作命令-->
<mapper namespace="命名空间[类似包的作用]">
<select/insert/update/delete id="业务标记名" resultType="实体类全名" parameterType="占位符类型">
SQL命令
</select/insert/update/delete>
</mapper>
备注: 映射文件用于实现 实体对象与数据表字段的映射关系
(通俗的说,就是对数据库操作的SQL语句要按照规定的形式,写在映射文件中,通过相关命名调用使用)
1.4 编写启动程序
//获得MyBatis的配置文件: 数据库信息,映射文件信息[SQL]
InputStream is=Resources.getResourceAsStream("配置文件位置/配置文件名.xml");//参数为配置文件的位置: a/mybatis-config.xml
//基于配置信息创建SqlSessionFactory
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//获得SqlSession: 连接数据库
SqlSession session=factory.openSession();
//数据库操作: CURD
//执行数据库操作后,可以用其返回的数据类型接收结果
类型 对象名 = session.CURD方法名("命名空间.业务标识名");//映射文件中的命名空间和业务标识名
//执行映射文件中的哪个SQL
//提交事务
session.commit();
//关闭连接
session.close();
//关闭流
is.close();
备注:CURD指的是数据库里的:创建(Create),更新(Update),读取(Retrieve),删除(Delete) 操作
1.5 实例
1.5.1 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>
<!--配置环境-->
<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/mydb"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--添加映射文件-->
<mappers>
<mapper resource="bean/UserMapper.xml"/>
</mappers>
</configuration>
1.5.2 UserMapper.xml 对user表操作的映射文件
<?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">
<!--在当前XML中编写针对User的CURD操作命令-->
<mapper namespace="my.mybatis">
<select id="listUser" resultType="bean.User">
select * from user
</select>
<insert id="addUser" parameterType="bean.User" >
insert into user(name,sex,age,address) values(#{name},#{sex},#{age},#{address})
</insert>
</mapper>
1.5.3 user实体类
package bean;
public class User {
private int id;
private String name;
private char sex;
private int age;
private String address;
public User() {
}
public User(int id, String name, char sex, int age, String address) {
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
this.address = address;
}
@Override
public String toString() {
return "\nUser{" +
"id=" + id +
", name='" + name + '\'' +
", sex=" + sex +
", age=" + age +
", address='" + address + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
1.5.4 main方法测试
package test;
import bean.User;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class TestMyBatis {
public static void main(String[] args) throws IOException {
//获得MyBatis的配置文件: 数据库信息,映射文件信息[SQL]
InputStream is=Resources.getResourceAsStream("mybatis-config.xml");//参数为配置文件的位置: a/mybatis-config.xml
//基于配置信息创建SqlSessionFactory
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//获得SqlSession: 连接数据库
SqlSession session=factory.openSession();
//数据库操作: CURD
List<User> list=session.selectList("my.mybatis.listUser");
System.out.println(list);
//提交事务
session.commit();
//关闭连接
session.close();
}
}