mybatis框架学习-前置,复习Jdbc

Jdbc需要一个数据库驱动包:mysql-connector-java.jar

然后需要用到的类一般有

Connecto:数据库连接

PrepareStatement(或者Statement):用于执行sql语句

ResultSet:数据库操作返回的结果

以下个人案例:从数据库中查找id = 1的用户信息

1.前期mysql准备

create database cong
use cong;
create table account(
    id int primary key auto_increment,
    name varchar(40),
    money float
)character set utf8 collate utf8_general_ci;

insert into account(name,money) values('aaa',1000);
insert into account(name,money) values('bbb',1000);
insert into account(name,money) values('ccc',1000);

2.创建maven工程,在pom.xml中导入jar包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.cong</groupId>
    <artifactId>jdbc_learn</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
    </dependencies>
</project>

3.创建Jdbc_Learn类

import java.sql.*;

public class Jdbc_Learn {
    public static void main(String[] args) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try{
            //1.加载数据库驱动
            //Class.forName是把这个类加载到JVM中,加载的时候,就会执行其中的静态初始化块,完成驱动的初始化的相关工作。
            Class.forName("com.mysql.jdbc.Driver");
            //2.通过驱动管理类获得数据库连接a
            connection = DriverManager.getConnection
                    ("jdbc:mysql://localhost:3306/cong","root","123456");
            //3.定义sql语句
            String sql = "select * from account where id = ?";
            //4.获得预处理statement
            preparedStatement = connection.prepareStatement(sql);
            //5.设置参数,第一个参数为 sql 语句中参数的序号(从 1 开始),第二个参数为设置的参数值
            preparedStatement.setString(1, "1");
            //6.执行操作
            resultSet = preparedStatement.executeQuery();
            //7.处理结果
            while (resultSet.next()){
                System.out.println("Account:"+resultSet.getInt("id") + "," + resultSet.getString("name")+ ","+resultSet.getFloat("money"));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            //8.释放资源,最先加载的最后释放
            if (resultSet != null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (preparedStatement != null){
                try {
                    preparedStatement.cancel();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(connection != null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

4.执行,结果如下

参考:https://blog.csdn.net/jungle_rao/article/details/81274720

猜你喜欢

转载自www.cnblogs.com/ccoonngg/p/11252112.html
今日推荐