集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > 大数据 >

成都数据库培训班:基于JDBC的MySQL数据库的增、删、改、查

发布者: 成都达内     浏览次数:     发布时间:2019-08-09 09:54:05

首先,在MySql数据库中新建一张表studenttable,就建在test数据库下。...

  首先,在MySql数据库中新建一张表studenttable,就建在test数据库下。

  建立studenttable的sql指令如下:

  1CREATE TABLE 'studenttable' (

  2 'UserName' char(12) NOT NULL COMMENT '用户名',

  3 'StudentID' int(12) NOT NULL,

  4 'ClassName' char(12) NOT NULL,

  5 'Score' float NOT NULL,

  6 PRIMARY KEY ('StudentID')

  7 )

  可以看到,创建的基本表studenttable包含4条属性,分别是UserName、StudentID、ClassName和Score。这是一个最基本的学生成绩表。在这张表中预先添加如下数据,供后续操作使用:

基于JDBC的MySQL数据库的增、删、改、查

  上述建立基本表的工作完成后,在正式编程对数据库操作前,需要先对上述基本表进行建模--用一个类来表示基本表的一些属性,在这里我用的是User类,包含4个属性:UserName、StudentID、ClassName和Score分别与基本表属性相对应。

  User类建立如下:

  1public class User {

  2 private String UserName;//用户名

  3 private String ClassName;//课程名

  4 private float Score;//课程分数

  5 private int StudentID;//学号

  6

  7 public User(String userName, String className, float score, int studentID) {

  8 super();

  9 UserName = userName;

  10 ClassName = className;

  11 Score = score;

  12 StudentID = studentID;

  13 }

  14

  15 public String getUserName() {

  16 return UserName;

  17 }

  18

  19 public String getClassName() {

  20 return ClassName;

  21 }

  22

  23 public float getScore() {

  24 return Score;

  25 }

  26

  27 public int getStudentID() {

  28 return StudentID;

  29 }

  30

  31 public void printf() {

  32 System.out.println("序号为"+this.StudentID+"的学生"+this.UserName+"的"+this.ClassName+"成绩是:"+this.Score);

  33 }

  34}

  上述准备工作都完成后,就可已进行编程对基本表进行操作了。

  数据增加的sql结构化语言如下:

  1INSERT INTO studenttable (UserName,StudentID,ClassName,Score)

  2 VALUES('user.getUserName()','user.getStudentID()','user.getClassName()','user.getScore()')

  2.数据删除的sql结构化语言如下:

  1DELETE FROM studenttable WHERE UserName = 'username'

  3.数据修改的sql结构化语言如下:

  1UPDATE studenttable SET Score = 30, ClassName = '英语1'

  2 WHERE UserName = 'username'

  4.数据查询的sql结构化语言如下:

  1SELECT * FROM studenttable WHERE UserName ='username'

  利用上述sql结构化查询语句,将其内嵌到java程序中即可完成对数据库的操作。

  具体代码实现如下所示:

  1package JDBC_test;

  2

  3import java.sql.Connection;

  4import java.sql.ResultSet;

  5import java.sql.Statement;

  6

  7public class Operate_DB {

  8

  9 /**

  10 * 查询功能(按名字查找)

  11 * @param con

  12 * @param username

  13 * @throws Exception

  14 */

  15 public void ReadData(Connection con, String username)throws Exception {

  16 User user = null;

  17 boolean flag = true;

  18 Statement stmt = con.createStatement();

  19 String sql = "SELECT * FROM studenttable WHERE UserName ='"+username+"'";

  20 ResultSet rst = stmt.executeQuery(sql);

  21

  22 while(rst.next()) {

  23 flag = false;

  24 user = new User(rst.getString("UserName"), rst.getString("ClassName"),

  25 rst.getFloat("Score"),rst.getInt("StudentID"));

  26 user.printf();

  27 }

  28 if(flag)

  29 System.out.println("此表中不存在名称为"+username+"的记录!");

  30 stmt.close();

  31 rst.close();

  32 }

  33

  34 /**

  35 * 查询功能(按学号查找)

  36 * @param con

  37 * @param studentid

  38 * @throws Exception

  39 */

  40 public void ReadData(Connection con, int studentid)throws Exception {

  41 User user = null;

  42 boolean flag = true;

  43 Statement stmt = con.createStatement();

  44 String sql = "SELECT * FROM studenttable WHERE StudentID ='"+studentid+"'";

  45 ResultSet rst = stmt.executeQuery(sql);

  46 while(rst.next()) {

  47 flag = false;

  48 user = new User(rst.getString("UserName"), rst.getString("ClassName"),

  49 rst.getFloat("Score"),rst.getInt("StudentID"));

  50 user.printf();

  51 }

  52 if(flag)

  53 System.out.println("此表中不存在学号为"+studentid+"的记录!");

  54 stmt.close();

  55 rst.close();

  56 }

  57

  58 /**

  59 * 添加功能

  60 * @param con

  61 * @param user

  62 * @throws Exception

  63 */

  64 public void InertData(Connection con, User user)throws Exception {

  65 Statement stmt = con.createStatement();

  66 String sql = "INSERT INTO studenttable (UserName,StudentID,ClassName,Score)"

  67 + "VALUES('"+user.getUserName()+"','"+user.getStudentID()+"','"+user.getClassName()+"','"

  68 +user.getScore()+"')";

  69 stmt.executeUpdate(sql);

  70 System.out.println("新增的一条记录为:");

  71 user.printf();

  72 stmt.close();

  73 }

  74

  75 /**

  76 * 删除功能(按名称删除)

  77 * @param con

  78 * @param user

  79 */

  80 public void DeleteData(Connection con, String username)throws Exception {

  81 Statement stmt = con.createStatement();

  82 String sql = "DELETE FROM studenttable WHERE UserName = '"+username+"'";

  83

  84 int cout = stmt.executeUpdate(sql);

  85 if(cout == 0)

  86 System.out.println("此表中不存在名称为"+username+"的记录!删除失败!");

  87 stmt.close();

  88 }

  89

  90 /**

  91 * 删除功能(按学号删除)

  92 * @param con

  93 * @param studentid

  94 * @throws Exception

  95 */

  96 public void DeleteData(Connection con,int studentid)throws Exception {

  97 Statement stmt = con.createStatement();

  98 String sql = "DELETE FROM studenttable WHERE StudentID = '"+studentid+"'";

  99

  100 int cout = stmt.executeUpdate(sql);

  101 if(cout == 0)

  102 System.out.println("此表中不存在学号为"+studentid+"的记录!删除失败!");

  103 else

  104 System.out.println("删除成功!");

  105 stmt.close();

  106

  107 }

  108

  109 /**

  110 * 修改功能(按学号修改)

  111 * @param con

  112 * @param studentid

  113 * @throws Exception

  114 */

  115 public void UpdateData(Connection con,int studentid)throws Exception {

  116 Statement stmt = con.createStatement();

  117 String sql = "UPDATE studenttable SET Score = 100, ClassName = '英语' "

  118 + "WHERE StudentID = '"+studentid+"'";

  119 int cout = stmt.executeUpdate(sql);

  120 if(cout == 0)

  121 System.out.println("此表中不存在学号为"+studentid+"的记录!修改失败!");

  122 else

  123 System.out.println("修改成功!");

  124 stmt.close();

  125 }

  126

  127 /**

  128 * 修改功能(按名称修改)

  129 * @param con

  130 * @param studentid

  131 * @throws Exception

  132 */

  133 public void UpdateData(Connection con,String username)throws Exception {

  134 Statement stmt = con.createStatement();

  135 String sql = "UPDATE studenttable SET Score = 30, ClassName = '英语1' "

  136 + "WHERE UserName = '"+username+"'";

  137 int cout = stmt.executeUpdate(sql);

  138 if(cout == 0)

  139 System.out.println("此表中不存在名称为"+username+"的记录!修改失败!");

  140 else

  141 System.out.println("修改成功!");

  142 stmt.close();

  143 }

  144

  145 public static void main(String[] args)throws Exception {

  146 DbUtil dbutil = new DbUtil();

  147 Connection con = dbutil.getcon();//获取数据库连接

  148 Operate_DB test = new Operate_DB();

  149 System.out.println("数据库操作--数据增加");

  150 test.InertData(con, new User("brooke", "爱情心理学", 99, 10));

  151 System.out.println("数据库操作--数据删除");

  152 test.DeleteData(con, 10);

  153 System.out.println("数据库操作--数据修改");

  154 test.UpdateData(con, "小华");

  155 System.out.println("数据库操作--数据查询");

  156 test.ReadData(con, "小华");

  157 }

  158}

(责任编辑:徐老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56