连接mysql数据库 增删改控件_通过jdbc连接MySql数据库的增删改查操作

一、获取数据库连接

要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接

JDBC:Java中连接数据库方式

具体操作如下:

获取数据库连接的步骤:

1、先定义好四个参数

1 String username="root"; //连接数据库的用户名

2 String password="root"; //连接数据库的密码3 //连接MySql数据库的url,不同数据库url不同,语法:jdbc:子协议:厂商内容

4 String url="jdbc:mysql://localhost:3306/MyBookStore";5 //数据库驱动程序的全类名,加载相应数据库的jar包,在Web App Libraries中找到driver.class复制其全类名即可

6 String driver="com.mysql.jdbc.Driver";

2、加载驱动类

Class.forName(driver);

3、获取数据库连接,对数据库的一切操作都是从Connection连接开始的

Connection connection=DriverManager.getConnection(url, username, password);

4.Statement由connection对象创建,然后通过Statement执行具体的sql语句

(在实际开发中,由于Statement存在漏洞,容易发生sql注入,通常使用PreparedStatement来操作sql语句)

Statement statement = connection.createStatement();

二、数据库的增删改查操作

1、增加数据

1 String sql1="insert into dept values(null,'财务部门')";2 int i =statement.executeUpdate(sql1);

//executeUpdate()是执行增删改操作的方法,返回值为int类型,返回数据库中受到影响的行数3 System.out.println(i);

2、删除数据

1 String sql2="delete from dept where id=2";2 int i2=statement.executeUpdate(sql2);3 System.out.println(i2);

3、修改数据

1 String sql3="update dept set dept_name='人事部门' where id=4";2 int i3=statement.executeUpdate(sql3);3 System.out.println(i3);

4、查询数据

1 String sql4="select id,dept_name from dept";2 ResultSet resultSet=statement.executeQuery(sql4);

//executeQuery()是执行查询操作的方法,返回值为ResultSet类型,返回查询的结果集,相当于一个虚拟的表格3 while(resultSet.next()) {4 int id=resultSet.getInt("id");5 String deptName=resultSet.getString("dept_name");6 System.out.println(id+":"+deptName);7 }

5、通过对象封装结果集,并利用集合存储对象

1 String sql4="select id,dept_name from dept";2 ResultSet resultSet=statement.executeQuery(sql4);3 List list=new ArrayList();4 while(resultSet.next()) {5 int id=resultSet.getInt("id");6 String deptName=resultSet.getString("dept_name");7 Department department=newDepartment(); //创建用来封装结果集记录的对象8 department.setId(id);9 department.setDeptName(deptName);10 list.add(department); //将封装好的对象添加到list集合中11 }12 //Department类中重写了toString()方法,使该方法返回对象中的某些属性,而不是地址13 //System.out.println()输出list中的内容时,会调用list内存储的Department对象的toString()方法

14 System.out.println(list);

注意:通过PreparedStatement执行sql语句时,示例如下:

PreparedStatement需要对sql语句进行预编译,因此需要先将sql语句字符串传递给PreparedStatement对象,这样就避免了Statament的sql注入漏洞

1 PreparedStatement preparedStatement=null;2 ResultSet rs=null;3

4 String sql="select id,dept_name from dept where id=? "; //?为占位符

5 preparedStatement=connection.prepareStatement(sql); //此处需要给prepareStatement()方法传递参数(sql语句)

6 preparedStatement.setInt(1,5); //参数表示为第一个占位符赋值

7 rs=preparedStatement.executeQuery(); //此处执行无参的executeQuery()方法


版权声明:本文为weixin_33595018原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。