JDBC连接数据库
1、通过注册驱动
package com.yyr.test;
import java.sql.*;
public class Test {
public static void main(String[] args) {
Statement stmt=null;
ResultSet rs=null;
Connection conn=null;
try {
//1、注册数据库的驱动程序
Class.forName("com.mysql.jdbc.Driver");
//2、通过DriverManager获取数据库连接
conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/book","root","123456");
//定义sql语句
String sql="INSERT INTO user(id,username,password,email) VALUES(4,'zhangsan','123456','asda@qq.com')";
//获得Statement对象执行sql语句
stmt=conn.createStatement();
//执行
stmt.executeUpdate(sql);
//关闭
conn.close();
stmt.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
遇到的麻烦:
1)需要有mysql-connector的jar包,
2)因为jar包一开始使用的mysql-connector-java-8.0.19.jar版本过高而发生错误
3)通过DriverManager获取数据库连接上,设置的参数对不上
正确格式:jdbc:数据库名://IP地址:端口号/book",数据库的用户名,数据库的密码
2、配置jdbc的配置文件
1)配置文件的设置
username=root
password=123456
url=jdbc:mysql://localhost:3306/book
driverClassName=com.mysql.jdbc.Driver
initialSize=5
maxActive=10
package com.yyr.utils;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.alibaba.druid.util.JdbcUtils;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;
public class jdbcUtils {
private static DruidDataSource dataSource;
static {
try {
Properties properties = new Properties();
//读取jdbc.propertiess属性
InputStream inputStream = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");//得到一个input流
//从流中加载数据
properties.load(inputStream);
//创建数据库连接池
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
System.out.println(dataSource.getConnection());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
public static Connection getConnection() {
//获取数据库连接池中的连接
return null;
}
public static void close(Connection conn) {
//关闭连接,放回数据库连接池
}
}
遇到的麻烦:
1)jdbc的配置文件参数错误