lombok
引用lombokk后只需要在类中加上@Data注解
会帮你自动添加get/set方法和tostring
1.1 安装lombok插件。
1.2 引入lombok依赖。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
mybatis是ORM框架
ORM
ORM(Object Relational Mapping)框架采用元数据来描述对象与关系映射的细节(它的作用是在关系型数据库和业务实体对象之间作一个映射),元数据一般采用XML格式,并且存放在专门的对象一映射文件中。简单理解为一种框架的格式
mybatis框架是什么(持久层框架)
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀ORM框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录. 半自动化框架。必须写sql语句。
使用:
一,
1,创建一个maven的java工程
2,引用mybatis的jar包和mysql的驱动jar包
<dependencies>
<!--mysql驱动依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
<!--mybatis的依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
</dependencies>
二,配置mybatis的配置文件---mybatis会读取该文件的内容完成连接数据库的功能。
三, 编写相应的映射文件。-----sql语句 实体类与表的映射。
<?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">
<!--namespace:命名空间:它的值现在可以随便写。
以后必须和dao接口对应。
-->
四,把相应的映射文件加到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.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/rqk0406?serverTimezone=Asia/Shanghai" />
<property name="username" value="root" />
<property name="password" value="" />
</dataSource>
</environment>
</environments>
添加相应的映射文件 resource映射文件名
<mappers>
<mapper resource="foodmapper.xml"/>
</mappers>
</configuration>
五,创建数据库表的实体类
六,URUD操作(在映射文件中)
<?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">
<!--namespace:命名空间:它的值现在可以随便写。
以后必须和dao接口对应。
-->
<mapper namespace="a">
<!--根据id查询-->
<select id="select" resultType="com.rqk.Foodinfo">
select * from foodinfo where foodID=#{foodID}
</select>
<!-- 添加-->
<insert id="insert">
insert into foodinfo(foodName,remark) values(#{foodName},#{remark})
</insert>
<!--修改-->
<update id="update">
update foodinfo set foodName=#{foodName},remark=#{remark},foodprice=#{foodprice},description=#{description}
where foodID=#{foodID}
</update>
<!--根据id删除-->
<delete id="delete">
delete from foodinfo where foodID=#{foodID}
</delete>
<!--查询全部-->
<select id="selectall" resultType="com.rqk.Foodinfo">
select * from foodinfo
</select>
</mapper>
测试
/**
* @program: mavenjava02
* @description:
* @author: 任乾坤
* @create: 2021-11-30 18:59
**/
public class FoodTest {
//id查询
@Test
public void select() throws Exception{
Reader resource= Resources.getResourceAsReader("food.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resource);
SqlSession session = build.openSession();
Object o = session.selectOne("a.select", 7);
System.out.println(o);
}
//查询全部
@Test
public void selectall()throws Exception{
Reader resourceAsReader = Resources.getResourceAsReader("food.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsReader);
SqlSession session = build.openSession();
List<Object> objects = session.selectList("a.selectall");
System.out.println(objects);
}
//添加
@Test
public void insert()throws Exception{
Reader resourceAsReader = Resources.getResourceAsReader("food.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsReader);
SqlSession session = build.openSession();
Foodinfo foodinfo = new Foodinfo("777","888",999,"555");
int insert = session.insert("a.insert", foodinfo);
session.commit();
System.out.println(insert);
}
//修改
@Test
public void update()throws Exception{
Reader resourceAsReader = Resources.getResourceAsReader("food.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsReader);
Foodinfo foodinfo = new Foodinfo(52,"麻辣小龙虾","小龙虾",68,"好吃");
SqlSession session = build.openSession();
int update = session.update("a.update", foodinfo);
System.out.println(update);
}
//删除
@Test
public void delete()throws Exception{
Reader resourceAsReader = Resources.getResourceAsReader("food.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsReader);
SqlSession session = build.openSession();
int delete = session.delete("a.delete", 49);
System.out.println(delete);
}