jdbc连接数据库以及从数据库获取数据的相关操作

使用jdbc操作数据的步骤
1、准备好数据库 可以自己命名 可以使用客户端插入相关数据
创建一个user表
CREATE TABLE user (
id int(11) NOT NULL auto_increment,
username varchar(32) NOT NULL COMMENT '用户名称',
birthday datetime default NULL COMMENT '生日',
sex char(1) default NULL COMMENT '性别',
address varchar(256) default NULL COMMENT '地址',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2、首先创建好工程 这里采用maven工程 因为自己导入jar包太麻烦

3、在pom.xml文件中导入相应的坐标
jar

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

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
</dependencies>

4、导入日志文件
5、创建演示类 随便命名

接下来就是操作数据库的过程
1)加载jdbc驱动
2)通过驱动获取数据库连接
3)书写sql语句
4) 使用连接创建statement对象
5)利用对象执行sql语句 返回相应的结果
6)遍历结果集对象
7)关闭相应的资源
public class JdbcDemo {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet result = null;
//1、加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
//2、通过驱动获取数据库连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis_day01","root","root");
//3、写sql语句
String sql = "select * from user";
//4、创建statement对象 并设置相应的值
statement = connection.createStatement();
//5、执行sql语句 返回处理结果
result = statement.executeQuery(sql);
//6、遍历结果集
while(result.next()){
System.out.println(result.getString("id")+":"+result.getString("username"));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//7、释放资源
if(result!=null){
try {
result.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

        if(connection!=null){
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if(statement!=null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

}

存在的问题:
1)数据库连接频繁的创建会影响系统的性能
2)sql语句在代码中硬编码 实际的sql变化可能较大 所以使用这种方式不易维护

原文地址:https://www.cnblogs.com/phantom576/p/11915630.html