基础语法:
--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();
}
}
}