数据库驱动:
这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道,如下所示:
JDBC介绍:
SUN公司为了简化,统一对数据库的操作,定义了一套java操作数据库的规范(接口),称之为JDBC,这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就可以操作数据库
JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成,组成JDBC的2个包:java.sql和javax.sql,开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)
连接数据的步骤:
1.注册驱动(只做一次)2.建立连接(Connection)3.创建执行SQL的语句(Statement)4.执行语句5.处理执行结果(ResultSet)6.释放资源首先要导包:
右键点击你的工程–>PRoperties–>Java Build Path–>Add External JARs–>然后找到你电脑里的MySQL驱动:mysql-connector-java-5.1.6-bin.jar
举个简单的例子使用:
static void test() throws SQLException, ClassNotFoundException { //1.注册驱动 //DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver");//将com.mysql.jdbc.Driver加载到虚拟机,推荐方式 Class.forName("org.gjt.mm.mysql.Driver");//也行 //2.建立连接 /* * jdbc(协议名):子协议(mysql):子名称(无)//主机名:端口号(主机名:端口号可以缺省)/数据库名?属性名=属性值&.... */ String url = "jdbc:mysql://localhost:3306/jdbc"; String user = "root"; String passWord = "yezi"; Connection conn = DriverManager.getConnection(url, user, password); //3.创建语句 Statement st = conn.createStatement(); //4.执行语句 ResultSet rs = st.executeQuery("select * from user"); //5.处理结果 while(rs.next()) { System.out.println(rs.getObject(1)+"/t"+rs.getObject(2)+ "/t"+rs.getObject(3)+"/t"+rs.getObject(4)); } //6.释放资源(注意顺序) rs.close(); st.close(); conn.close();}注册驱动(3种方式):
Class.forName(“com.mysql.jdbc.Driver”);——将驱动类com.mysql.jdbc.Driver加载到虚拟机中,推荐这种方式,不会对具体的驱动类产生依赖DriverManager.registerDriver(com.mysql.jdbc.Driver);——会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖System.setProperty(“jdbc.drivers”, “driver1:driver2”);——虽然不会对具体的驱动类产生依赖,但注册不太方便,所以很少使用建立连接的介绍:
Connection conn = DriverManager.getConnection(url, user, password);url格式的介绍:JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&…user,password可以用“属性名=属性值”方式告诉数据库,其他参数如:useUnicode=true&characterEncoding=GBK释放资源:释放ResultSet, Statement,Connection,数据库连接(Connection)是非常稀有的资源,用完后必须马上释放,如果Connection不能及时正确的关闭将导致系统宕机(?),Connection的使用原则是尽量晚创建,尽量早的释放其他具体介绍参考博客:
JDBC第一次学习:http://www.cnblogs.com/yerenyuan/p/5316659.html
Jdbc学习—:http://www.cnblogs.com/ipetergo/p/6421072.html
jdbc学习总结2—使用占位符的增删改查:http://hanchaohan.blog.51cto.com/2996417/925308
JDBC为什么要使用PreparedStatement而不是Statement: http://www.importnew.com/5006.html
新闻热点
疑难解答