Java中连接MySQL数据库

基础语法:

--1.加载驱动

--2.获取和数据的连接   jdbc:mysql://ip地址:3306/数据库名 用户名 密码

--3.编译sql语句

--4.设置参数

--5.执行sql语句

例:

try {

    //1.加载驱动

    Class.forName("com.mysql.jdbc.Driver");

    //2.获取和数据的连接jdbc:mysql://ip地址:3306/数据库名 用户名 密码

    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1", "root", "root");

    //3.编译sql语句

    String sql="insert into student values(?,?,?,?,?,?)";

    PreparedStatement pst = conn.prepareStatement(sql);

    //4.设置参数

    pst.setObject(1, "20151007");

    pst.setObject(2, "田七");

    pst.setObject(3, "");

    pst.setObject(4, "语文");

    pst.setObject(5, 80);

    pst.setObject(6, null);

    //5.执行sql语句

    pst.execute();//无返回值

     //ResultSet rs=pst.executeQuery();//有返回值

} catch (Exception e) {

    e.printStackTrace();

}

连接数据库工具类:

这个工具类前提要在Servesr项目下的context.xml文件倒数第二行加入以下代码。表示数据库缓冲池的设置。以后连接数据库就可以使用缓冲池

<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"

    maxActive="100" maxIdle="20" maxWait="30000" username="root" password="root"

driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" />

JdbcUtil.java:

package com.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class JdbcUtil {
private Connection conn=null;
private PreparedStatement pst =null;
private ResultSet rs=null;
private static DataSource ds=null;
//private String url="jdbc:mysql://localhost:3306/test";
//private String username="root";
//private String password="root";

    static{
        //1.加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //数据库连接池
            Context context=new InitialContext();
            ds=(DataSource)context.lookup("java:comp/env/jdbc/test");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    //2.获取和数据的连接
    public Connection getConn() {
        try {
            //conn = DriverManager.getConnection(url, username, password);
            conn=ds.getConnection();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return conn;
    }
    //3.增删改数据库编译执行
    public void executeUpdate(String sql,Object...obj){
        getConn();
        try {
            pst = conn.prepareStatement(sql);
            for(int i=0;i<obj.length;i++){
                pst.setObject(i+1, obj[i]);
            }
            pst.execute();//无返回值
            //ResultSet rs=pst.executeQuery();//有返回值
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        close();

    }

    //4.查询数据库编译执行

    public ResultSet executeQuery(String sql,Object...obj){
        getConn();
        try {
            pst = conn.prepareStatement(sql);
            for(int i=0;i<obj.length;i++){
                pst.setObject(i+1, obj[i]);
            }
            rs=pst.executeQuery(); //有返回值
        } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }
        return rs;
    }
    //5.连接关闭
    public void close(){
        try {
            if(conn!=null){
                conn.close();
            }
            if(pst!=null){
                pst.close();
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40899182/article/details/81003862