java连接数据mysql

材料:

myEclipse  ,MySQL,mysql数据库的jdbc驱动包( http://www.mysql.com/downloads/mysql/ )

1.配置环境

将mysql连接jar放到例如lib这一个文件夹中(myEclipse中建立),然后点击"构建路径">"用作源文件夹";这里jar文件就顺利引入了.

2.实践

3.

建立数据库连接的过程:

1)加载数据库驱动,即Class.forName(dirver)

 

2)建立数据库连接,即DirverManager.getConnection("jdbc:mysql://127.0.0.1:3306/scutcs","root","root");

 

注:DirverManager是一个驱动管理器,内部有一个驱动注册表,可以向内部注册JDBC驱动

 

3)创建执行SQL的语句(Statement)

 

4)执语句.

 

5)处理执行的结果(也就是显示啦)

 

6)释放资源.

4.

(1)注册JDBC驱动

三种方式:

  a)Class.forName("com.mysql.jdbc.Driver");  //常用的方法.

  b)DirverManager.registerDirver(com.mysql.jdbc.Driver);

  会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。

  c)System.setProperty(“jdbc.drivers”, “driver1:driver2”);

  虽然不会对具体的驱动类产生依赖;但注册不太方便,所以很少使用。

  (2)建立Connection

  Connection conn = DirverManager.getConnection    ("jdbc:mysql://127.0.0.1:3306/scutcs","user","password");

  (3)Statement  和PreparedStatement

  Statement 是一个SQL执行器,可以用来执行静态的SQL语句.

  Statment st = conn.createStatement();

  st.executeQuery(sql);

 

  PreparedStatement 可以防止SQL语句注入.

  String sql="select * from table_name  where col_name=?";

  PreparedStatement ps  = conn.PreparedStatement(sql);

  ps.setString(1,"col_value");

  ps.executeQuery();  //获取结果集

  (4)结果集ResultSet的处理

  ResultSet  rs  = statement.executeQuery(sql);

  while(rs.next())

  {

    rs.getString("col_name");

    rs.getInt("col_name");

    //..

  }

  (5)释放资源

  在使用完之后,必须关闭ResultSet , Statement无所谓,只要Connection关闭了    Statement就会自动关闭.

  例如:

   rs.close();  //关闭 ResultSet

   conn.close(); //关闭  Connection

 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class StudentDBTest {

	public static void main(String[] args) {

		try{
			//第一个种
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/scutcs","root","root");
			
			//第二个中,因为有两个驱动
			//Class.forName("com.mysql.jdbc.Driver");//加载驱动
			//Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/scutcs","root","root");
			
			//statement用来执行sql语句
			Statement statement = con.createStatement();
			
              //结果集 ResultSet rs = statement.executeQuery("select * from student"); System.out.println("SNO"+"\t"+"SNAME"+"\t"+"BDATE"+"\t"+"HEIGHT"); System.out.println("------------查询结果结果------------"); String name=null , date=null; int age; while(rs.next()) { name = rs.getString("sname"); date = rs.getString("bdate"); age = rs.getInt("HEIGHT"); name = new String(name.getBytes("ISO-8859-1"),"GB2312"); System.out.println(rs.getString("sno") + "\t" + name + "\t" + date + "\t" + age); }
              //释放资源 rs.close(); con.close(); }catch(ClassNotFoundException e){ //捕获异常并且输出堆栈信息 System.out.println("Sorry,can`t find the Driver!"); e.printStackTrace(); }catch(SQLException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } }

 

 

//student.sql

#
# Structure for table "student"
#

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `SNO` char(7) NOT NULL,
  `SNAME` varchar(8) NOT NULL,
  `SEX` char(2) NOT NULL,
  `BDATE` date NOT NULL,
  `HEIGHT` decimal(5,2) DEFAULT ‘0.00‘,
  PRIMARY KEY (`SNO`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;

#
# Data for table "student"
#

/*!40000 ALTER TABLE `student` DISABLE KEYS */;
INSERT INTO `student` VALUES (‘1‘,‘admin‘,‘男‘,‘2015-04-15‘,12.00),(‘2‘,‘root‘,‘女‘,‘2015-04-15‘,14.00),(‘3‘,‘ZhangYl‘,‘男‘,‘2015-05-31‘,20.00),(‘4‘,‘Lisin‘,‘女‘,‘2015-05-14‘,21.00),(‘5‘,‘lisi‘,‘男‘,‘2015-05-22‘,20.00);
/*!40000 ALTER TABLE `student` ENABLE KEYS */;

 

 

 

 

 

 

 

 

 

参考:

各种数据库的驱动名和连接地址格式:
1、Oracle8/8i/9i数据库(thin模式) 
数据库驱动名:   oracle.jdbc.driver.OracleDriver
数据库连接地址:jdbc:oracle:thin:@localhost:1521:orcl                //orcl为数据库的SID 

2、DB2数据库 
数据库驱动名:   com.ibm.db2.jdbc.app.DB2Driver ").newInstance()
数据库连接地址:jdbc:db2://localhost:5000/sample"                    //sample为你的数据库名 

3、Sql Server7.0/2000数据库 
数据库驱动名:   com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance()
数据库连接地址:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"          //mydb为数据库 

4、Sybase数据库 
数据库驱动名:   com.sybase.jdbc.SybDriver").newInstance()
数据库连接地址:jdbc:sybase:Tds:localhost:5007/myDB"            //myDB为你的数据库名

5、Informix数据库 
数据库驱动名:   com.informix.jdbc.IfxDriver").newInstance(); 
数据库连接地址:jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword"                                  //myDB为数据库名 

6、MySQL数据库

要下载mysql-connector-java-5.1.13.zip,解压后,将mysql-connector-java-5.1.13-bin.jar拷贝到jdk的lib下,并将其目录添加到classpath中。
数据库驱动名:   org.gjt.mm.mysql.Driver").newInstance()   或者"com.mysql.jdbc.Driver"都可以,因为有两个Driver.java。
数据库连接地址:jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1                                                       //myDB为数据库名 

7、PostgreSQL数据库 
数据库驱动名:   org.postgresql.Driver").newInstance()
数据库连接地址:jdbc:postgresql://localhost/myDB       //myDB为数据库名

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。