【MySQL篇】使用Java操作MySQL实现数据交互
目录JDBC的认识安装MySQL驱动包下载完成后将包导入IDEA实现代码1.创建数据源2.和数据库服务器建立连接?3.构造操作数据库的 sql 语句.4.执行SQL语句5.释放资源?完整代码InsertSelectUpdateJDBC的认识JDBC即Java Database Connectivityjava数据库连接。是一种用于执行SQL语句的Java API它是Java中的数据库连接规范。它为Java开发人员操作数据库提供了一个标准的API可以为多种关系数据库提供统一访问由于每个厂商的数据库的API都不同为了进行统一管理Java提供了一套标准的API接口标准每个数据库都得安装这套标准才能在Java中使用这套标准就是JDBC;JDBC的作用可以在Java中对数据库进行增删改查操作安装MySQL驱动包只要安装了JDK就自带了JDBCJDBC是Java标准库中提供的但是Java要想操作数据库就得下载它的数据库驱动包得适配到Java中中央仓库https://mvnrepository.com/中央仓库有大佬将Java中日常开发中可能会使用到的第三方库安装包统一收集在一个网站中这个网站就叫做“中央仓库”因为我使用的数据库是5.7版本的属于旧版本下载旧版本的驱动包即可随便哪个版本都行只需前面的大版本对应你的MySQL版本就行下载jar文件下载完成后将包导入IDEA1在项目中创建一个新目录2将jar包复制粘贴到lib包中3右击.jar文件 选择 点击OK4添加完成实现代码1.创建数据源//1.创建数据源 DataSource dataSource new MysqlDataSource(); ((MysqlDataSource)dataSource).setUrl(jdbc:mysql://127.0.0.1:3306/jdbc?characterEncodingutf8useSSLfalse); ((MysqlDataSource)dataSource).setUser(root); ((MysqlDataSource)dataSource).setPassword(123456);这里设置了账号密码使用的有连接方式客户端-服务器之间的通信有俩种有连接这里JDBC使用的就是这种需要双方同意才能进行操作。例如打电话A打B的电话B必须接收才能相互通信无连接类似发短信不需要对方同意也可以直接发送2.和数据库服务器建立连接//2.和数据库服务器建立连接 Connection connection dataSource.getConnection();这块不要导错包否则会出现错误在getConnection()这个方法的可能会连接失败 有以下几点可能1.数据库服务器没有正确启动2.url写错了3.用户名写错了4.密码填错了5.网络断开…3.构造操作数据库的 sql 语句.//3.构造操作数据库语句 System.out.println(请输入学号: ); int id scanner.nextInt(); System.out.println(请输入姓名: ); String name scanner.next(); String sql insert into student values(?, ?); PreparedStatement preparedStatement connection.prepareStatement(sql); preparedStatement.setInt(1, id); preparedStatement.setString(2, name);prepareStatement(sql)方法将 SQL 语句传递给数据库准备执行。PreparedStatement提供了一种预编译的方式确保 SQL 语句能更高效地执行并且可以有效防止 SQL 注入。在sql语句中使用到这种占位符preparedStatement可以设置sql语句对应的占位符位置并且下标是从1开始?4.执行SQL语句//4.执行SQL语句 int n preparedStatement.executeUpdate(); System.out.println(n n);有俩种方法executeQuery() 方法执行后返回单个结果集的通常用于select语句executeUpdate()方法返回值是一个整数指示受影响的行数通常用于update、insert、delete语句5.释放资源//5.释放资源 preparedStatement.close(); connection.close();对应前面创建的资源都得手动释放掉以免不必要的浪费完整代码Insertpublic class Demo { public static void main(String[] args) throws SQLException { Scanner scanner new Scanner(System.in); //1.创建数据源 DataSource dataSource new MysqlDataSource(); ((MysqlDataSource)dataSource).setUrl(jdbc:mysql://127.0.0.1:3306/jdbc?characterEncodingutf8useSSLfalse); ((MysqlDataSource)dataSource).setUser(root); ((MysqlDataSource)dataSource).setPassword(123456); //2.和数据库服务器建立连接 Connection connection dataSource.getConnection(); //3.构造操作数据库语句 System.out.println(请输入学号: ); int id scanner.nextInt(); System.out.println(请输入姓名: ); String name scanner.next(); String sql insert into student values(?, ?); PreparedStatement preparedStatement connection.prepareStatement(sql); preparedStatement.setInt(1, id); preparedStatement.setString(2, name); //4.执行SQL语句 int n preparedStatement.executeUpdate(); System.out.println(n n); //5.释放资源 preparedStatement.close(); connection.close(); } }Selectpublic static void main(String[] args) throws SQLException { Scanner scanner new Scanner(System.in); //1.创建数据源 DataSource dataSource new MysqlDataSource(); ((MysqlDataSource)dataSource).setUrl(jdbc:mysql://127.0.0.1:3306/jdbc?characterEncodingutf8useSSLfalse); ((MysqlDataSource)dataSource).setUser(root); ((MysqlDataSource)dataSource).setPassword(123456); //2.和数据库服务器建立连接 Connection connection dataSource.getConnection(); //3.构造操作数据库语句 String sql select * from student; PreparedStatement preparedStatement connection.prepareStatement(sql); //4.执行语句 ResultSet resultSet preparedStatement.executeQuery(); //遍历结果 while (resultSet.next()) { int id resultSet.getInt(id); String name resultSet.getString(name); System.out.println(id id , name name); } //5.资源释放 resultSet.close(); preparedStatement.close();; connection.close(); }ResultSet对象它被称为结果集它代表符合SQL语句条件的所有行并且它通过一套getXXX方法提供了对这些行中数据的访问。ResultSet里的数据一行一行排列每行有多个字段并且有一个记录指针指针所指的数据行叫做当前数据行我们只能来操作当前的数据行。我们如果想要取得某一条记录就要使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录就应该使用while循环。Updatepublic static void main(String[] args) throws SQLException { Scanner scanner new Scanner(System.in); //1.建立数据源 DataSource dataSource new MysqlDataSource(); ((MysqlDataSource)dataSource).setUrl(jdbc:mysql://127.0.0.1:3306/jdbc?characterEncodingutf8useSSLfalse); ((MysqlDataSource)dataSource).setUser(root); ((MysqlDataSource)dataSource).setPassword(040518); //2.建立连接 Connection connection dataSource.getConnection(); //3.构建sql String sql update student set name wangwu where id 2; PreparedStatement preparedStatement connection.prepareStatement(sql); //4.执行sql int n preparedStatement.executeUpdate(); System.out.println(n n); //5.释放资源 preparedStatement.close(); connection.close(); }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2413205.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!