我们时常会遇到java需要连接数据库的情况,连接数据库大部分都需要如下3个步骤
- 注册数据库驱动!
- 建立数据库连接的URL,URL指向要访问的数据库名
- 获取Connection对象,连接数据库!
对于java连接MySQL数据库来说,需要一个java连接MySQL的jar包,以及MySQL数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**JDBC是Java程序与数据库系统通信标准的API(应用程序编程接口),定义在jdk的API中
* 通过JDBC技术,Java可以非常方便的与多种数据库交互
*
* @author lmm
*
*/
public class JDBCTest {
/*public static void main(String[] args) {
try {
Connection conn=getConnection();
queryUserInfo(conn);
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
}*/
public static Connection getConnection(){
Connection conn;
try {
//第一步:注册数据库驱动,Very Important!!!!
Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动,注册到驱动器管理器
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
//第二步:建立数据库连接的URL,URL指向要访问的数据库名scutcs
String url="jdbc:mysql://localhost/secondarymarket?useUnicode=true&characterEncoding=utf8";
MySQL配置时的用户名
String user="root";
// Java连接MySQL配置时的密码
String pwd="maomao";
//第三步:获取Connection对象,连接数据库!Very Important!!!!
conn = DriverManager.getConnection(url,user, pwd);
System.out.print("连接成功");
} catch (SQLException e) {
e.printStackTrace();
conn=null;
}
//测试连接是否成功
return conn;
}
public static void insertUserInfo(Connection conn,String a,String p){
Statement stat;
try {
stat = conn.createStatement();
String sql="insert into hiCamp values('"+a+"','"+p+"')";
int r=stat.executeUpdate(sql);
if(r==1){
System.out.println("插入数据成功。");
}else{
System.out.println("插入数据失败。");
}
stat.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
public static void insertUserInfoPrepare(Connection conn,String a,String p) throws SQLException{
String sql="insert into hiCamp values(?,?)";
PreparedStatement ps=(PreparedStatement) conn.prepareStatement(sql);
ps.executeUpdate();
}
public static void deleteUserInfo(Connection conn)throws SQLException{
Statement stat=conn.createStatement();
String sql="delete from hiCamp where account='222' ";
int r=stat.executeUpdate(sql);
if(r==1){
System.out.println("删除数据成功。");
}else{
System.out.println("删除数据失败。");
}
stat.close();
}
public static void queryUserInfo(Connection conn){
try {
Statement stat=conn.createStatement();
String sql="select * from hiCamp LIMIT 0,10";
ResultSet rs=stat.executeQuery(sql);//获取结果集
while(rs.next()){
String s1=rs.getString("account");
String s2=rs.getString("password");
System.out.println("信息:"+s1+"-"+s2);
}
rs.close();
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}