第六周作业
2016-04-09 18:07
253 查看
这周的项目主要是写详细设计,当然我就是主要负责注册登录模块的文档编写,这些文档以前都写过不少,所以还比较顺手。
收获最大的还是在编程的过程中,这周我主要写的代码是用JAVA连接数据库,然后从数据库中读取和存入数据。
回忆java连接数据库的过程
1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。
代码如下:
try {
Class.forName("com.mysql.jdbc.Driver") ; /*加载mysql的驱动类*/
} catch (ClassNotFoundException e) {
System.out.println("找不到驱动类");
e.printStackTrace();
}
2、提供JDBC连接的URL
3、创建数据库的连接
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
代码如下:
String url="jdbc:mysql://localhost:3306/test"; /*数据库的地址*/
conn=DriverManager.getConnection(url, "root", "2013551708");
4、创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型: 1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
代码如下:
stat=conn.createStatement();
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句 ,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
代码如下:
se=stat.executeQuery("select * from UA");
while(se.next())
{
String concen=se.getString(1);
String conce=se.getString(2);
String conc=se.getString(3);
System.out.print(concen+" ");
System.out.print(conce+" ");
System.out.println(conc);
}
6、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反: 1、关闭记录集 2、关闭声明 3、关闭连接对象
代码如下:
if(se!=null)
{
try {
se.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(stat!=null)
{
try {
stat.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(conn!=null)
{
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
通过JAVA查询到的数据库数据如下:
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\T8351]4Q@4MOC%5[`[0~W9O.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\T8351]4Q@4MOC%5[`[0~W9O.png)
![](https://images2015.cnblogs.com/blog/900390/201604/900390-20160409180428718-12147568.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\$CTQVT[83%$QY)X24D%F~J8.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\R8QQ}[4N7C5$8AT}EQVC4KN.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\R8QQ}[4N7C5$8AT}EQVC4KN.png)
收获最大的还是在编程的过程中,这周我主要写的代码是用JAVA连接数据库,然后从数据库中读取和存入数据。
回忆java连接数据库的过程
1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。
代码如下:
try {
Class.forName("com.mysql.jdbc.Driver") ; /*加载mysql的驱动类*/
} catch (ClassNotFoundException e) {
System.out.println("找不到驱动类");
e.printStackTrace();
}
2、提供JDBC连接的URL
3、创建数据库的连接
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
代码如下:
String url="jdbc:mysql://localhost:3306/test"; /*数据库的地址*/
conn=DriverManager.getConnection(url, "root", "2013551708");
4、创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型: 1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
代码如下:
stat=conn.createStatement();
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句 ,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
代码如下:
se=stat.executeQuery("select * from UA");
while(se.next())
{
String concen=se.getString(1);
String conce=se.getString(2);
String conc=se.getString(3);
System.out.print(concen+" ");
System.out.print(conce+" ");
System.out.println(conc);
}
6、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反: 1、关闭记录集 2、关闭声明 3、关闭连接对象
代码如下:
if(se!=null)
{
try {
se.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(stat!=null)
{
try {
stat.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(conn!=null)
{
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
通过JAVA查询到的数据库数据如下:
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\T8351]4Q@4MOC%5[`[0~W9O.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\T8351]4Q@4MOC%5[`[0~W9O.png)
![](https://images2015.cnblogs.com/blog/900390/201604/900390-20160409180428718-12147568.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\$CTQVT[83%$QY)X24D%F~J8.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\R8QQ}[4N7C5$8AT}EQVC4KN.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\R8QQ}[4N7C5$8AT}EQVC4KN.png)
![](file:///C:\Users\123\AppData\Roaming\Tencent\Users\1533704283\QQ\WinTemp\RichOle\R8QQ}[4N7C5$8AT}EQVC4KN.png)
相关文章推荐
- Oracle 数据库监听配置
- 一种更清晰的Android架构
- 结对编程------扯淡者的游戏
- PcDuino安装JDK+配置Tomcat服务
- 剑指offer--变态跳台阶
- 跳转指令的学习
- theano学习之borrow
- SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现
- 数据库垂直分离 |SqlServer同义词 与链接服务器
- 剑指offer--跳台阶
- 3.10 左值和右值 中英文对照(C++标准中文版 ISO/IEC 14882:2014)
- 中英文对照—masm编译时错误性息提示
- ssh2开源框架开发“登陆”功能的类图与时序图
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- android网络框架asyncHttpClient 的二次封装
- APUE------线程控制
- C++虚继承内存布局
- Linux内核分析——第七章 链接
- 结对编程-电梯调度2
- Linux文件之inode