Mybatis
1.Mybatis介绍详情
myBatis是支持普通sql查询,存储过程和高级映射的优秀持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
2.mybatis的快速入门
以一个用户信息新增改查的例子为例
项目目录介绍
2.1添加jar包
在conf.xml中添加jar包
添加mybatis
添加mysql驱动包
添加lombok
2.2数据库建库和创建表格
2.3添加mybatis的配置文件conf.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/qy129?useSSL=false&characterEncoding=utf8&useUnicode=true" />
<property name="username" value="root" />
<property name="password" value="283003" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
2.4定义表中所对应的实体类
package aaa.qy129.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data //帮你生成set 和 get 以及toString
@NoArgsConstructor //无参构造函数
@AllArgsConstructor //全参构造函数 //必须安装lombok插件
public class User {
private int id;
private String name;
private String sex;
}
2.5定义操作user表的sql映射文件
userMapper.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="mao">
<!--parameterType 参数类型 resultType="aaa.qy129.entity.User"返回的结果集类型-->
<select id="getUser" parameterType="int" resultType="aaa.qy129.entity.User">
select * from user
</select>
<insert id="addUser" >
insert into user(name,sex) value(#{
name},#{
sex})
</insert>
<delete id="delUser">
delete from user where id=#{
id}
</delete>
<update id="updateUser" parameterType="aaa.qy129.entity.User">
update user set name=#{
name},sex=#{
sex} where id=#{
id}
</update>
</mapper>
2.6在conf.xml文件中注册userMapper.xml文件
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
2.7.编写测试代码:
//加载mybatis的配置文件
Reader reader = Resources.getResourceAsReader("conf.xml");
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建能映射文件中的sql的sql的sqlSession
SqlSession session = sessionFactory.openSession();
List<Object> objects = session.selectList("mao.getUser");
//1.查询新增
System.out.println(objects);
//session.insert("mao.addUser",new User(1,"mao","add"));
//2.添加
//session.insert("mao.addUser",new User(1,"mao19","add"));
//3.修改
//int update = session.update("mao.updateUser", new User(1, "毛云飞天下第一帅", "男神"));
//System.out.println(update);
//4.删除
//int delete = session.delete("mao.delUser",7);
//System.out.println(objects);
//事务都是默认开启,需要手动提交commit
session.commit();