jdbc基础 一、jdbc简介和mysql驱动的加载 程序要通过sql语句来自动化操作数据库,必须要用一个类库,类库要提供executesql(“insert into。。。”)等方法 jdbc是java中提供的标准访问数据库的接口,访问不同dbms的底层是不一样的,jdbc把访问数据库的方法进行了统一,访问mysql、oracle、db2等不同数据库的用法几乎一模一样。 jdbc是规范,被不同的数据库厂商提供jdbc的实现,称之为jdbc驱动。 jdbc的核心类:drivermanager用于管理驱动/获得连接,connection用于连接dbms,statement用于执行sql语句,resultset用户获取执行结果,jdbc相关的核心类都在java.sql中 二、jdbc连接mysql(英文输入法,下面这里面有可能有拼音输入法输入的内容) 1、将mysql的jdbc驱动mysql-connector-java-***-bin.jar添加到项目的库中 2、Class.forName("com.mysql.jdbc.Driver")加载mysql的jdbc驱动(大小写敏感) 3、Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/demo1?seUnicode=true&characterEncoding=UTF-8","root",“root”)获得和dbms的连接,不要引用错了mysql驱动jar包中也有一个同名的connection 参数localhost是本机的地址,也可以输入电脑的ip地址;参数demo1是数据库的名字,已实际的为准;后面是编码。 4、PreparedStatement ps=conn.prepareStatement("inset into T_Persons(name,age,gender) values('mingzi',23,1)"); 5、int i=ps.executeUpdate();执行sql语句,返回值为受影响的行数
package com.rupeng.jdbctest1;
import java.sql.DriverManager; import java.sql.SQLException;
//import java.sql.DriverManager;
public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("mysql jdbc驱动加载失败"+e.getMessage());
return;
}
try {
DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
} catch (SQLException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("连接失败"+e.getMessage());
}
}
}
三、
PreparedStatement ps=conn.prepareStatement(insert into t_persons(name,age,gender)values('zhaozhao',22,1)); int i=ps.executeUpdate(); //妈蛋,mac上面的vbox,又出幺蛾子啦啦啦 package com.rupeng.jdbctest1;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;
//import java.sql.DriverManager;
public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动,注意大小写
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("mysql jdbc驱动加载失败"+e.getMessage());
return;
}
/*Connection con=null;
PreparedStatement stmt=null;
try {
con=DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
System.out.println(con.getClass());
// 连接失败Communications link failure Last packet sent to the server was 0 ms ago.
// con=DriverManager.getConnection("jdbc:mysql://localhot/study1?autoReconnect=true&characterEncoding=UTF-8", "root", "123456");
//报错Could not create connection to database server. Attempted reconnect 3 times. Giving up.
stmt=con.prepareStatement("insert into_orders (number,price,customersid,typeid) values('k003',200,1,1)");
System.out.println(stmt.getClass());
int i=stmt.executeUpdate();
System.out.println("成功执行"+i+"条信息");
} catch (SQLException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("连接失败"+e.getMessage());
}*/
try {
Connection con=DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
} catch (SQLException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("连接失败"+e.getMessage());
}
}
}