网络及数据库编程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
try {
if (null != rs) {
rs.close();
}
if (null != st) {
st.close();
}
if (null != ps) {
ps.close();
}
if (null != conn) {
conn.close();
}
} catch (Exception e) {
System.out.println("Close connection error");
*/
package five;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
*向表中插入信息
* @author ruochen
String sql = " select * from workers";
try {
Statement st = conn.createStatement();
st.executeUpdate(sql1);
st.executeUpdate(sql2);
st.executeUpdate(sql3);
import java.sql.ResultSet;
import java.sql.Statement;
/**
*数据库连接和关闭工具类
* @author ruochen
* @version 1.0
*/
public class DBConfig {
/**定义数据库驱动类名称*/
private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
2.创建数据表workers,创建时,首先判断数据表是否已经存在,若不存在,则进行创建,其中sql语句中,对于字符串使用可变字符串类型varchar类型。
3.向表中插入数据,直接插入即可,插入成功向打印相应信息。
4.更新表操作,sql语句‘update workers set salary = salary + 50’即可将所有职工的工资加50,然后输出对应信息即可。
System.out.println("insert success");
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getString("id") + "\t" + rs.getString("name") + "\t"
}
DBConfig.closeConnection(rs, st, null, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
ResultSet rs = conn.getMetaData().getTables(null, null, "workers", null);
if (rs.next()) {
System.out.println("表已经存在");
} else {
String sql = "create table workers ( "
e.printStackTrace();
}
}
}
// UpdateTable.java
/*
*若尘
*/
package five;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
/**
*更新表
* @author ruochen
String sql1 = "update workers set salary = salary + 50";
String sql2 = "select * from workers";
st.executeUpdate(sql1);
System.out.println("Update success");
三.实现方法(含实现思路、程序流程图和源程序列表等)
源代码如下
// DBconfig.java
/*
*若尘
*/
package five;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
*关闭连接
* @param rs
* @param st
* @param ps
* @param conn
*/
public static void closeConnection(ResultSet rs, Statement st, PreparedStatement ps, Connection conn) {
// CreateTable.java
// InsertTable.java
// UpdateTable.java
问题:此次实验是Java连接MySQL,自己之前对MySQL基本语句有过熟悉和了解,MySQL语句方面倒是没什么问题,但是使用Java操作起来还是比较生疏,需要参考老师的代码,以后要多加练习。
/**数据库密码*/
private static final String JDBC_PASSWORD = "root";
/**数据库连接对象*/
private static Connection conn = null;
剩余代码见附页
四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
e.printStackTrace();
}
}
}
// CreateTable.java
/*
*若尘
*/
package five;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
/**
*创建职工表
}
DBConfig.closeConnection(rs, st, null, conn);
} catch (Exception e) {
System.out.println("SQLException: " + e.getMessage());
}
}
}
// InsertTable.java
/*
*若尘
* @author ruochen
* @version 1.0
*/Baidu Nhomakorabea
public class CreateTable {
public static void main(String[] args) {
Connection conn = DBConfig.getConnection();
try {
Statement st = conn.createStatement();
/**数据库连接地址*/
private static final String JDBC_URL = "jdbc:mysql://127.0.0.1:3306/JavaDB?characterEncoding=utf8";
/**数据库用户名*/
private static final String JDBC_USERNAME = "root";
* @version 1.0
*/
public class UpdateTable {
public static void main(String[] args) {
Connection conn = DBConfig.getConnection();
try {
Statement st = conn.createStatement();
报告提交日期
(注意:内容写不下时可另附页。)
附:
// DBconfig.java(续)
/**
*建立连接
* @return conn
*/
public static Connection getConnection() {
try {
try {
//加载驱动程序
Class.forName(JDBC_DRIVER);
650
助工
1002
张小华
女
1000
工程师
1003
宁涛
男
2500
高工
要求:(1)创建职工表;
(2)向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台。
(3)更新职工表:将每个人的工资加50后存入原表中;并查询更新后的所有员工信息,输出到控制台。
二.理论分析或算法分析
1.创建一个数据连接与关闭工具类,方便后续操作,其中包括:驱动加载、数据库连接、数据库关闭以及相应的游标等关闭。
* @version 1.0
*/
public class InsertTable {
public static void main(String[] args) {
Connection conn = DBConfig.getConnection();
String sql1 = "insert into workers values ('1001', '丁卫国', '男', 650, '助工')";
System.out.println("加载成功");
} catch (java.lang.ClassNotFoundException e) {
System.out.println("ForName: " + e.getMessage());
}
conn = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD);
+ rs.getString("sex") + "\t" + rs.getInt("salary") + "\t" + rs.getString("title"));
}
DBConfig.closeConnection(rs, st, null, conn);
} catch (SQLException e) {
String sql2 = "insert into workers values ('1002', '张小华', '女', 1000, '工程师')";
String sql3 = "insert into workers values ('1003', '丁涛', '男', 2500, '高工')";
ResultSet rs = st.executeQuery(sql2);
while (rs.next()) {
System.out.println(rs.getString("id") + "\t" + rs.getString("name") + "\t"
+ rs.getString("sex") + "\t" + rs.getInt("salary") + "\t" + rs.getString("title"));
JAVA程序设计实验报告
姓 名
王锐
学 号
182054424
班 级
1820544
成 绩
设备名称及软件环境
Win10、Eclipse、MySQL5.5.57
实验名称
网络及数据库编程设计
实验日期
2020.06.04
1.实验内容
1、编写程序创建一个职工数据表,内容如下:
职工号
姓名
性别
工资
职称
1001
丁卫国
男
+ "id varchar(10),"
+ "name varchar(20),"
+ "sex varchar(5),"
+ "salary int,"
+ "title varchar(10)" + ")";
st.executeUpdate(sql);
System.out.println("创建成功");
if (null != rs) {
rs.close();
}
if (null != st) {
st.close();
}
if (null != ps) {
ps.close();
}
if (null != conn) {
conn.close();
}
} catch (Exception e) {
System.out.println("Close connection error");
*/
package five;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
*向表中插入信息
* @author ruochen
String sql = " select * from workers";
try {
Statement st = conn.createStatement();
st.executeUpdate(sql1);
st.executeUpdate(sql2);
st.executeUpdate(sql3);
import java.sql.ResultSet;
import java.sql.Statement;
/**
*数据库连接和关闭工具类
* @author ruochen
* @version 1.0
*/
public class DBConfig {
/**定义数据库驱动类名称*/
private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
2.创建数据表workers,创建时,首先判断数据表是否已经存在,若不存在,则进行创建,其中sql语句中,对于字符串使用可变字符串类型varchar类型。
3.向表中插入数据,直接插入即可,插入成功向打印相应信息。
4.更新表操作,sql语句‘update workers set salary = salary + 50’即可将所有职工的工资加50,然后输出对应信息即可。
System.out.println("insert success");
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getString("id") + "\t" + rs.getString("name") + "\t"
}
DBConfig.closeConnection(rs, st, null, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
ResultSet rs = conn.getMetaData().getTables(null, null, "workers", null);
if (rs.next()) {
System.out.println("表已经存在");
} else {
String sql = "create table workers ( "
e.printStackTrace();
}
}
}
// UpdateTable.java
/*
*若尘
*/
package five;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
/**
*更新表
* @author ruochen
String sql1 = "update workers set salary = salary + 50";
String sql2 = "select * from workers";
st.executeUpdate(sql1);
System.out.println("Update success");
三.实现方法(含实现思路、程序流程图和源程序列表等)
源代码如下
// DBconfig.java
/*
*若尘
*/
package five;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
*关闭连接
* @param rs
* @param st
* @param ps
* @param conn
*/
public static void closeConnection(ResultSet rs, Statement st, PreparedStatement ps, Connection conn) {
// CreateTable.java
// InsertTable.java
// UpdateTable.java
问题:此次实验是Java连接MySQL,自己之前对MySQL基本语句有过熟悉和了解,MySQL语句方面倒是没什么问题,但是使用Java操作起来还是比较生疏,需要参考老师的代码,以后要多加练习。
/**数据库密码*/
private static final String JDBC_PASSWORD = "root";
/**数据库连接对象*/
private static Connection conn = null;
剩余代码见附页
四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
e.printStackTrace();
}
}
}
// CreateTable.java
/*
*若尘
*/
package five;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
/**
*创建职工表
}
DBConfig.closeConnection(rs, st, null, conn);
} catch (Exception e) {
System.out.println("SQLException: " + e.getMessage());
}
}
}
// InsertTable.java
/*
*若尘
* @author ruochen
* @version 1.0
*/Baidu Nhomakorabea
public class CreateTable {
public static void main(String[] args) {
Connection conn = DBConfig.getConnection();
try {
Statement st = conn.createStatement();
/**数据库连接地址*/
private static final String JDBC_URL = "jdbc:mysql://127.0.0.1:3306/JavaDB?characterEncoding=utf8";
/**数据库用户名*/
private static final String JDBC_USERNAME = "root";
* @version 1.0
*/
public class UpdateTable {
public static void main(String[] args) {
Connection conn = DBConfig.getConnection();
try {
Statement st = conn.createStatement();
报告提交日期
(注意:内容写不下时可另附页。)
附:
// DBconfig.java(续)
/**
*建立连接
* @return conn
*/
public static Connection getConnection() {
try {
try {
//加载驱动程序
Class.forName(JDBC_DRIVER);
650
助工
1002
张小华
女
1000
工程师
1003
宁涛
男
2500
高工
要求:(1)创建职工表;
(2)向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台。
(3)更新职工表:将每个人的工资加50后存入原表中;并查询更新后的所有员工信息,输出到控制台。
二.理论分析或算法分析
1.创建一个数据连接与关闭工具类,方便后续操作,其中包括:驱动加载、数据库连接、数据库关闭以及相应的游标等关闭。
* @version 1.0
*/
public class InsertTable {
public static void main(String[] args) {
Connection conn = DBConfig.getConnection();
String sql1 = "insert into workers values ('1001', '丁卫国', '男', 650, '助工')";
System.out.println("加载成功");
} catch (java.lang.ClassNotFoundException e) {
System.out.println("ForName: " + e.getMessage());
}
conn = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD);
+ rs.getString("sex") + "\t" + rs.getInt("salary") + "\t" + rs.getString("title"));
}
DBConfig.closeConnection(rs, st, null, conn);
} catch (SQLException e) {
String sql2 = "insert into workers values ('1002', '张小华', '女', 1000, '工程师')";
String sql3 = "insert into workers values ('1003', '丁涛', '男', 2500, '高工')";
ResultSet rs = st.executeQuery(sql2);
while (rs.next()) {
System.out.println(rs.getString("id") + "\t" + rs.getString("name") + "\t"
+ rs.getString("sex") + "\t" + rs.getInt("salary") + "\t" + rs.getString("title"));
JAVA程序设计实验报告
姓 名
王锐
学 号
182054424
班 级
1820544
成 绩
设备名称及软件环境
Win10、Eclipse、MySQL5.5.57
实验名称
网络及数据库编程设计
实验日期
2020.06.04
1.实验内容
1、编写程序创建一个职工数据表,内容如下:
职工号
姓名
性别
工资
职称
1001
丁卫国
男
+ "id varchar(10),"
+ "name varchar(20),"
+ "sex varchar(5),"
+ "salary int,"
+ "title varchar(10)" + ")";
st.executeUpdate(sql);
System.out.println("创建成功");