maven:使用java语言编写的基于项目对象模型的项目管理工具软件
maven的仓库:中央仓库,本地仓库,镜像仓库
maven的资源坐标:
GroupId:一般是逆向公司域名com.zrt
ArtifactId:一般是项目(jar)名mysql-connector-java.
Version:版本号8.0.28
框架:
重复基础代码封装,同时添加额外功能
Mybatis:
持久层框架(数据库连接框架),ORM框架(对象/关系 映射)
1.创建数据库表
2.创建maven项目
3.添加依赖
在pol.xml文件中配置
XML
<dependencies>
<!-- mysql驱动的依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<!-- Mybatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
</dependencies>
4.创建mybatis全局配置文件
在resources文件中配置xml文件
XML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
//环境配置
<environments default="mysql">//默认链接mysql
<environment id="mysql">
<transactionManager type="JBDC"></transactionManager>//事务处理jdbc/manager
<dataSource type="POOLED">//数据源信息UNPOOLED/POOLED/JNDI(POOLED 数据库连接池,数据库连接请求频率高就要用到)
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/bookmanager?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"/>
<property name="username" value="root"/>
<property name="password" value="zrt20031002"/>
</dataSource>
</environment>
</environments>
</configuration>
5.创建实体类
java
//要和数据库中列明保持一致
public class Book {
private int id;
private String name;
private String author;
private double price;
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getAuthor() {
return author;
}
public double getPrice() {
return price;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setAuthor(String author) {
this.author = author;
}
public void setPrice(double price) {
this.price = price;
}
public Book(int id, String name, String author, double price) {
this.id = id;
this.name = name;
this.author = author;
this.price = price;
}
}
6.创建映射文件
XML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper>
<select id="selectAllBooks" resultType="com.zrt.pojo.Book">
select * from t_book
</select>
</mapper>
把映射文件放到mysatis配置文件中去,就能实现mysatis项目加载映射文件
XML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JBDC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/bookmanager?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"/>
<property name="username" value="root"/>
<property name="password" value="zrt20031002"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/BookMapper.xml"></mapper>
</mappers>
</configuration>
7.编写测试类------自动项目
java
package com.zrt.test;
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 Test {
public static void main(String[] args) throws IOException {
//指定核心配置文件的路径:
String resource = "mybatis.xml";
//获取加载配置文件的一个输入流:
InputStream inputStream = Resources.getResourceAsStream(resource);
//加载配置文件,创建工厂类
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//通过工厂类获取一个会话:
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行查询语句
List<com.zrt.pojo.Book> list = sqlSession.selectList("a.b.selectAllBooks");
//遍历:
for (com.zrt.pojo.Book book : list) {
System.out.println(book.getId() + "---" + book.getName() + "---" + book.getAuthor() + "---" + book.getPrice());
}
//关闭会话
sqlSession.close();
}
}