ORM——对象关系映射
O:对应的是java中的对象,一般是pojo(实体类)
R:关系型数据库
M:映射,指java中对象映射到数据库表中对应的记录,或者是数据库表中对应记录映射成java中的对象
一个mybaties程序
1、添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.10</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--MySQL 数据库-->
<dependencys>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version> <!--注意此处的大版本要和 MySQL 的大版本一致-->
</dependency>
<!--Mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependencys>
2、编写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"/><!--使用jdbc管理事务-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/greatecommunity"/>
<property name="username" value="root"/>
<property name="password" value="3237never"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--从类路径加载资源-->
<mapper resource="user-mapper.xml"/>
</mappers>
</configuration>
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">
<mapper namespace="com.greate.community.dao.UserMapper">
<insert id="insertUser">
INSERT INTO users (user_id, username, password, salt, email, type, status, activation_Code, header_url, create_time)
VALUES (1, 'username_value', 'password_value', 'salt_value', 'email_value', 1, 1, 'activation_code_value', 'header_url_value', '2024-01-14 14:16:41');
</insert>
</mapper>
4、编写mybatis程序
public class MainApplication {
public static void main(String[] args) throws IOException {
// SqlSessionFactoryBuilder-->SqlSessionFactory-->SqlSession-->执行sql语句
//获取核心配置文件输入流,资源从类路径开始加载
InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");
//使用类加载器同样可以加载文件获取输入流
//InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//加载输入流创建会话工厂
SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.insert("insertUser");//根据id找到要执行sql语句
sqlSession.commit();//提交事务
}
}
说明:在maven管理的项目中,从类路径开始加载资源是指在resource目录下加载资源,默认resources目录下的文件会放置在类路径下。