IntelliJIDEAMybatis连接MySQL数据库
嘿!我是⽬录
⼀、JDBC到Mybatis
1. JDBC与Mybatis介绍
JDBC介绍
Java数据库连接(Java Database Connectivity,简称JDBC)是Java语⾔中⽤来规范客户端程序如何来访问数据库的应⽤程序接⼝,提供了诸如查询和更新数据库中数据的⽅法。
Mybatis介绍
MyBatis 本是apache的⼀个开源项⽬iBatis, 2010年这个项⽬由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11⽉迁移到Github。 iBATIS⼀词来源于“internet”和“abatis”的组合,是⼀个基于Java的持久层框架。
iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
MyBatis 是⼀款优秀的持久层框架,它⽀持定制化SQL、存储过程以及⾼级映射。MyBatis 避免了⼏乎所有的 JDBC代码和⼿动设置参数以及获取结果集。MyBatis 可以使⽤简单的 XML 或注解来配置和映射原⽣信息,将接⼝和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。MyBatis 是⽀持普通 SQL查询,存储过程和⾼级映射的优秀持久层框架。
MyBatis 消除了⼏乎所有的JDBC代码和参数的⼿⼯设置以及结果集的检索。MyBatis 使⽤简单的 XML或注解⽤于配置和原始映射,将接⼝和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。
2. Mybatis对⽐JDBC
JDBC开发的缺点:
代码⽐较多,开发效率低。
需要关注 Connection ,Statement, ResultSet 对象创建和销毁。
对 ResultSet 查询的结果,需要⾃⼰封装为 List。
重复的代码⽐较多。
业务代码和数据库的操作混在⼀起,不利于现代的开发习惯。
MyBatis解决的问题:
减轻使⽤ JDBC 的复杂性,不⽤编写重复的创建 Connetion , Statement 。
不⽤编写关闭资源代码。
直接使⽤ java 对象,表⽰结果数据,让开发者专注 SQL 的处理,其他分⼼的⼯作由 MyBatis 代劳。
⼆、项⽬实例
1. 新建项⽬
打开IntelliJ IDEA,右上⾓file,选择project→new project
按如下图⽰选择:
Web → Spring Web:
SQL → Jdbc API、Mybatis Framework、Mysql Driver:
注:千万不要选错了,不然在你不知道是什么错误导致程序运⾏不了的情况下,会被困很久
finash后就完成了。
2. 项⽬⽂件配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="/POM/4.0.0"xsi="/2001/XMLSchema-instance"
schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.5</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<groupId&le</groupId>
<artifactId>mybatis_test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mybatis_test</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId&batis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Spring Boot通过l中引⼊模块化的Stater,使得常规的开发场景可以很快把应⽤搭建起来。
在使⽤Spring Boot的过程中,除了可以在l中配置⼀些内容外,⼀些项⽬相关的配置也可以application.properties中通过配置来完成。
修改application.properties⽂件
application.properties是项⽬⾃带的配置⽂件,也可以建⽴其他的配置⽂件,可以在⽂件中添加端⼝、数据源、mybatis等相关数据。
添加以下内容:
application.properties:
server.port=8080
spring.datasource.driver-class-name=Driver
spring.datasource.url=jdbc:mysql://localhost:3306/runoob?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
#3306端⼝号后为数据库名
spring.datasource.username=root #账号
spring.datasource.password=**** #密码
mybatis.mapper-locations=classpath:mapper/*l
3. 构建项⽬⽂件
构建好后的⽬录:
①
entity 实体层:⽤于存放实体类,与数据库中属性值基本保持⼀致,实现set和get的⽅法。
写⼊Website 的代码:
注意:batis2是⾃⼰存放项⽬的包名,在⾃⼰的程序中⼀定要改为⾃⼰的包名,后⾯的代码中也是如此。
package;
public class Website {
private int id;
private String name;
private String url;
private int alexa;
private String country;
public int getId(){
return id;
}
public void setId(){
this.id = id;
}
public String getName(){
return name;
}
public void setName(){
this.name = name;
}
public String getUrl(){
return url;
}
public void setUrl(){
this.url = url;
}
public int getAlexa(){
return alexa;
}
public void setAlexa(){
this.alexa = alexa;
}
public String getCountry(){
return country;
}
public void setCountry(){
}
@Override
public String toString(){
mysql下载链接return"WebSite{"+
"name="+ name +
", url='"+ url +'\''+
", Alexa='"+ alexa +'\''+
",country="+ country +'\''+
'}';
}
}
②
mapper 映射层:⽤于对数据库进⾏数据持久化操作,其中的⽅法语句是直接针对数据库操作的,主要实现⼀些增删改查操作,在mybatis中⽅法主要与*l内相互⼀⼀映射。
写⼊WebsiteMapper代码:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论