当前位置:Gxlcms > 数据库问题 > javamysql连接全分析Java 连接 MySQL 需要驱动

javamysql连接全分析Java 连接 MySQL 需要驱动

时间:2021-07-01 10:21:17 帮助过:28人阅读

import java.sql.*;

public class Test2 {

    public static void main(String[] args) throws Exception {
        // 1.加载数据访问驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.连接到数据"库"上去
        Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?characterEncoding=GBK", "root", "");
        //3.构建SQL命令
        Statement state=conn.createStatement();
        String s="insert into xs values(‘008‘,‘李丽‘,‘四中‘)";
        state.executeUpdate(s);
    }

}
    1、驱动:配置pom 2、测试单链接 3、使用dbcp数据池连接    
1、驱动:配置pom
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<!--microsoft acess数据库连接器 ucanaccess注意使用的版本问题 -->
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>4.0.1</version>
</dependency>




2、测试单链接:
public static void sqltest() throws ClassNotFoundException, SQLException {
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2、用户信息和url
String url = "jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf8&useSSL=false";
String name = "root";
String password = "shiyw11shuzi";
//3、连接成功,数据库对象 connection代表数据库
Connection connection = DriverManager.getConnection(url, name, password);
//4、执行sql的对象 statement 执行sql的对象
Statement statement = connection.createStatement();
//5、执行sql的对象去执行sql,可能存在返回结果,查看返回结果
String sql = "select * from `mingxi`";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()){
System.out.print("id = " + resultSet.getObject("id")+" ;\t ");
System.out.print("name = " + resultSet.getObject("name")+" ;\t ");
System.out.println("mima = " + resultSet.getObject("mima")+" ;\t ");
}
//6、关闭连接
resultSet.close();
statement.close();
connection.close();
System.out.println( MySQLConnTest.class.getResource("/").getPath() + "druid.properties" );
}
    3、使用dbcp数据池连接: 项目主目录下的配置文件:D:\IntelliJIDEA20\workspace\mysqltest\dbmysql.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/book?useUnicode=true&useSSL=false&characterEncoding=utf8
username=rootbook
password=book2020shuzihua


4、使用dbcp数据池连接数据池:


import java.io.*;
import java.sql.*;
import java.util.Properties;



public class MysqlJDBCUtils {
private static String driver = null;
private static String url = null;
private static String username = null;
private static String password = null;
static {
try {

String propfile = System.getProperty("user.dir")+File.separator+ "dbmysql.properties";
System.out.println( 33+MysqlJDBCUtils.class.getResource("/").getPath() + "dbmysql.properties");
System.out.println( 66+propfile);
//// 66D:\IntelliJIDEA2018\ideawork2020\ddp2023pa\dbmysql.properties
InputStream is = new BufferedInputStream(new FileInputStream(propfile));
//// InputStream error = MysqlJDBCUtils.class.getClassLoader().getResourceAsStream("dbmysql.properties");
Properties properties = new Properties();
properties.load(is);
driver = properties.getProperty("driver");
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
//1、加载驱动 只加载一次
Class.forName(driver);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}


//获取连接
public static Connection getConnection() {
////return DriverManager.getConnection(url, username, password);
Connection getConn=null;
try {
getConn=DriverManager.getConnection(url, username, password);
}catch (Exception e){ }
return getConn;
}

//释放连接资源
public static void release(Connection conn, Statement st, ResultSet rs) {
if (rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (st != null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}




5、链接测试:


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class JDBCUtilsTestSelect {
public static void main(String[] args) {
/////////// testConn(); ////////获取数据库连接///////
Connection conn = JDBCUtils.getConnection();
conn = MysqlJDBCUtils.getConnection();
testConn(conn);
}


private static void testConn(Connection conn) {
//// Connection conn = JDBCUtils.getConnection(); ////获取数据库连接 testConn(conn); ////
PreparedStatement st = null;
ResultSet rs = null;
try {
///// Connection conn = JDBCUtils.getConnection(); //获取数据库连接
String sql = "select * from `mingxi` where `id` = ?";
sql = "select * from temp ";
//预编译sql但不执行
st = conn.prepareStatement(sql);
//手动设置sql参数 st.setInt(1, 3);
//执行sql
rs = st.executeQuery();
while (rs.next()){
System.out.print("name = " + rs.getObject("name") +"\t" );
System.out.print("mima = " + rs.getObject("mima") +"\t" );
System.out.println("author = " + rs.getObject("author") +"\t" );
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//释放资源
JDBCUtils.release(conn, st, rs);
}
}

private static void testConn() {
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;

try {
conn = JDBCUtils.getConnection(); //获取数据库连接
String sql = "select * from `mingxi` where `id` = ?";
sql = "select * from temp ";
//预编译sql但不执行
st = conn.prepareStatement(sql);
//手动设置sql参数 st.setInt(1, 3);
//执行sql
rs = st.executeQuery();
while (rs.next()){
System.out.print("name = " + rs.getObject("name") +"\t" );
System.out.print("mima = " + rs.getObject("mima") +"\t" );
System.out.println("author = " + rs.getObject("author") +"\t" );
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//释放资源
JDBCUtils.release(conn, st, rs);
}
}










                   

javamysql连接全分析Java 连接 MySQL 需要驱动

标签:etc   utils   下载   表名   sele   参数   释放   点击   target   

人气教程排行