3

1 # 删除mybatis_demo数据库
2 drop database if exists mybatis_demo;
3
4 # 创建mybatis_demo数据库
5 create database mybatis_demo;
6
7 # 使用mybatis_demo数据库
8 use mybatis_demo;
9
10 # 创建account表
11 create table user (
12 id int auto_increment primary key,
13 username varchar(20),
14 age int,
15 score int
16 );
17
18 # 新增数据
19 insert into user (id, username, age, score) values
20 (1,‘peter’, 18, 100), (2,‘pedro’, 24, 200),
21 (3,‘jerry’, 28, 500), (4,‘mike’, 12, 300),
22 (5,‘tom’, 27, 1000)

连接数据库

1
2
3
4 mysql
5 mysql-connector-java
6 8.0.23
7
8

代码编写:

JDBCDemo.java

1 import java.sql.Connection;
2 import java.sql.DriverManager;
3 import java.sql.PreparedStatement;
4 import java.sql.ResultSet;
5
6 public class JDBCDemo {
7 public static void main(String[] args) throws Exception {
8 //1.注册驱动
9 Class.forName(“com.mysql.cj.jdbc.Driver”);
10 //2.获取连接
11 Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/mybatis_demo”, “root”, “root”);
12 //3.获取Statement对象
13 PreparedStatement preparedStatement = connection.prepareStatement(“select * from user WHERE id = ?”);
14 preparedStatement.setInt(1, 1);
15 //4.执行SQL语句返回结果集
16 ResultSet resultSet = preparedStatement.executeQuery();
17 //5.遍历结果集
18 while (resultSet.next()) {
19 System.out.println("username: " + resultSet.getString(“username”));
20 System.out.println("age: " + resultSet.getString(“age”));
21 }
22 //6.释放资源
23 resultSet.close();
24 preparedStatement.close();
25 connection.close();
26 }
27

引入MyBatis依赖

复制代码
1
2
3 org.mybatis
4 mybatis
5 3.5.6
6
7
8
9 ch.qos.logback
10 logback-classic
11 1.3.0-alpha5
12 test
13
删除JDBC连接:JDBCDemo.java

新建文件:StartNoXml.java
1 import org.apache.ibatis.datasource.pooled.PooledDataSource;
2 import org.apache.ibatis.mapping.Environment;
3 import org.apache.ibatis.session.Configuration;
4 import org.apache.ibatis.session.SqlSession;
5 import org.apache.ibatis.session.SqlSessionFactory;
6 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
7 import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
8
9 import java.sql.PreparedStatement;
10 import java.sql.ResultSet;
11 import java.sql.SQLException;
12
13 @SuppressWarnings({“SqlResolve”, “SqlNoDataSourceInspection”, “Duplicates”})
14 public class StartNoXml {
15 public static void main(String[] args) throws SQLException {
16 // 准备jdbc事务类
17 JdbcTransactionFactory jdbcTransactionFactory = new JdbcTransactionFactory();
18 // 配置数据源
19 PooledDataSource dataSource = new PooledDataSource(
20 “com.mysql.cj.jdbc.Driver”,
21 “jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false”,
22 “root”,
23 “root”);
24 // 配置环境,向环境中指定环境id、事务和数据源
25 Environment environment = new Environment.Builder(“development”)
26 .transactionFactory(jdbcTransactionFactory)
27 .dataSource(dataSource).build();
28 // 新建 MyBatis 配置类
29 Configuration configuration = new Configuration(environment);
30 // 得到 SqlSessionFactory 核心类
31 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
32 // 开始一个 sql 会话
33 SqlSession session = sqlSessionFactory.openSession();
34 // 得到 sql 连接并运行 sql 语句
35 PreparedStatement preStatement = session
36 .getConnection()
37 .prepareStatement(“SELECT * FROM user WHERE id = ?”);
38 preStatement.setInt(1, 1);
39 ResultSet result = preStatement.executeQuery();
40 // 验证结果
41 while (result.next()) {
42 System.out.println("username: " + result.getString(“username”));
43 System.out.println("age: " + result.getString(“age”));
44 }
45 // 关闭会话
46 session.close();
47 }
48 }

修改StartNoXml.java类名:StartWithXml.java
1 import org.apache.ibatis.datasource.pooled.PooledDataSource;
2 import org.apache.ibatis.io.Resources;
3 import org.apache.ibatis.mapping.Environment;
4 import org.apache.ibatis.session.Configuration;
5 import org.apache.ibatis.session.SqlSession;
6 import org.apache.ibatis.session.SqlSessionFactory;
7 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
8 import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
9
10 import java.io.IOException;
11 import java.io.InputStream;
12 import java.sql.PreparedStatement;
13 import java.sql.ResultSet;
14 import java.sql.SQLException;
15
16 @SuppressWarnings({“SqlResolve”, “SqlNoDataSourceInspection”, “Duplicates”})
17 public class StartWithXml {
18 public static void main(String[] args) throws SQLException, IOException {
19 // 读取配置文件
20 InputStream configuration = Resources.getResourceAsStream(“mybatis-config.xml”);
21 // 得到 SqlSessionFactory 核心类
22 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
23 // 开始一个 sql 会话
24 SqlSession session = sqlSessionFactory.openSession();
25 // 得到 sql 连接并运行 sql 语句
26 PreparedStatement preStatement = session
27 .getConnection()
28 .prepareStatement(“SELECT * FROM user WHERE id = ?”);
29 preStatement.setInt(1, 1);
30 ResultSet result = preStatement.executeQuery();
31 // 验证结果
32 while (result.next()) {
33 System.out.println("username: " + result.getString(“username”));
34 System.out.println("age: " + result.getString(“age”));
35 }
36 // 关闭会话
37 session.close();
38 }
39 }

 

posted @ 2021-04-05 16:42  熊霸  阅读(38)  评论(0)    收藏  举报