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());
	}
	
}

}