当前位置: 首页 > news >正文

怀宁县建设局网站域名和网址

怀宁县建设局网站,域名和网址,西安做网站微信公司,汕头seo托管JDBC编程基础 JDBC介绍创建JDBC项目的步骤1.引入依赖2.注册驱动3.获取数据库连接4.获取sql执行对象 JDBC 常用 API 详解sql执行对象PreparedStatement作用 事务管理结果集对象 JDBC项目demo测试 JDBC介绍 每个数据库都会提供一组API来支持程序员实现自己客户端#xff0c;自己… JDBC编程基础 JDBC介绍创建JDBC项目的步骤1.引入依赖2.注册驱动3.获取数据库连接4.获取sql执行对象 JDBC 常用 API 详解sql执行对象PreparedStatement作用 事务管理结果集对象 JDBC项目demo测试 JDBC介绍 每个数据库都会提供一组API来支持程序员实现自己客户端自己根据需求来完成一些具体的增删查改的功能。但数据库也有很多种例如 Oracle、MySQL、SQL Server 等。显然这些不同的数据库是出自不同的厂商之手而对于数据库 API 的约定并没有一个业界统一的标准。 Java 这种跨平台的语言就弄了一个大统一的方案就叫JDBC。也就是说Java约定了一组API称为 JDBC这组 API 里面就包含了一些类和一些方法通过这些类和方法来实现数据库的基本操作。再由各个厂商提供各自的数据驱动包来和 JDBC 的 API 对接。程序员只需要掌握这一套 JDBC API 就可以操作各种各样的数据库了。 创建JDBC项目的步骤 1.引入依赖 依赖仓库 选择和自己数据库版本相同的连接依赖。 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.30/version/dependency2.注册驱动 不是必须的在较新的 JDBC 版本中使用Class.forName(com.mysql.cj.jdbc.Driver);注册驱动已经不是必需的步骤。在较旧的 JDBC 版本例如 JDBC 3.0 及之前的版本中手动加载驱动是必须的因为在那些版本中驱动的加载不是由DriverManager自动完成的。 在 JDBC 4.0 及更高版本中Java引入了服务提供者机制Service Provider Mechanism其中DriverManager的registerDriver方法能够自动识别和加载可用的 JDBC 驱动。因此对于新的 MySQL Connector/J 驱动不再需要显式地调用Class.forName(com.mysql.cj.jdbc.Driver);。 Class.forName(com.mysql.cj.jdbc.Driver);//mysql8.0 Class.forName(com.mysql.jdbc.Driver);//mysql8.0以前3.获取数据库连接 String url jdbc:mysql://localhost:3306/test; String user root; String password 120125hzy.; Connection conn DriverManager.getConnection(url, user, password);4.获取sql执行对象 //获取执行sql对象 Statement Statement stmt conn.createStatement();//处理结果集 ResultSet rs null;rsstmt.executeQuery(sql);//executeQuery 执行select语句 rsstmt.executeUpdate(sql);//executeUpdate 执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL数据定义语言语句例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数int指示受影响的行数即更新计数。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句executeUpdate 的返回值总为零。 rsstmt.execute(sql);//方法execute可用于执行任何SQL语句返回一个boolean值表明执行该SQL语句是否返回了ResultSet。如果执行后第一个结果是ResultSet则返回true否则返回false。但它执行SQL语句时比较麻烦通常我们没有必要使用execute方法来执行SQL语句而是使用executeQuery或executeUpdate更适合但如果在不清楚SQL语句的类型时则只能使用execute方法来执行该SQL语句了。JDBC 常用 API 详解 sql执行对象 Statement createStatement()普通执行sql对象。PreparedStatement prepareStatement(sql)预编译sql的执行sql对象防止sql注入可以多次执行只需变更参数值。CallableStatement prepareCall(sql)执行存储过程的对象。 执行sql语句 int executeUpdate(sql)执行DML,DDL语句返回DML语句影响的行数DDL语句执行后成功也可能返回0。 ResultSet executeQuery(sql)执行DQL语句返回值ResultSet 结果集对象。 PreparedStatement作用 预编译sql语句并执行预防sql注入 // 获取 PreparedStatement 对象 // sql语句中的参数值使用?占位符替代 String sql select * from user where uesrname ? and password ?; // 通过Connection对象获取并传入对应的sql语句 PreparedStatement pstmt conn.prepareStatement(sql); /* 设置参数值 PreparedStatement对象setXxx(参数1,参数2):给?赋值Xxx数据类型如setInt(参数1,参数2);参数参数1:?的位置编号从1开始参数2:?的值*/ pstmt.setString(1, zs); pstmt.setInt(2,123);// 执行sql pstmt.executeQuery(); // 不需要传递sql事务管理 setAutoCommit(boolean autoCommit)开启事务true为自动提交事务false为手动。commit()提交事务。rollback()回滚事务。 结果集对象 ResultSet封装了DQL查询语句的结果。 获取查询结果 boolean next()将光标向后移动一行判断当前行是否为有效行xxx getXxx(参数)获取数据 xxx数据类型如 Int getInt(参数) String getString(参数)。参数 int列的编号从1开始String 列名。 JDBC项目demo JDBC连接类 public class JDBC {static Connection connection null;/*static { 高版本不是必须的为了兼容性可以写try {Class.forName(com.mysql.cj.jdbc.Driver);} catch (ClassNotFoundException e) {throw new RuntimeException(e);}}*/private JDBC() {}public static Connection getConnection() {try {String url jdbc:mysql://localhost:3306/test;String user root;String password 120125hzy.;connection DriverManager.getConnection(url, user, password);} catch (SQLException e) {System.out.println(数据库连接失败);e.printStackTrace();}System.out.println(数据库连接成功);return connection;}public static void close() {try {if (connection ! null !connection.isClosed()) {connection.close();System.out.println(数据库关闭成功);}} catch (SQLException e) {System.out.println(数据库关闭失败);e.printStackTrace();}} } 实体类 User public class User {private int id;private String name;private Double balance;public int getId() {return id;}public void setId(int id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public Double getBalance() {return balance;}public void setBalance(Double balance) {this.balance balance;}Overridepublic String toString() {return User{ id id , name name \ , balance balance };} }Dao 层 public class UserDao {public static ListUser select() {Connection conn JDBC.getConnection();try {PreparedStatement ps conn.prepareStatement(select * from user2);ResultSet resultSet ps.executeQuery();ListUser ans new ArrayList();while (resultSet.next()) {User user new User();user.setId(resultSet.getInt(id));user.setName(resultSet.getString(name));user.setBalance(resultSet.getDouble(balance));ans.add(user);}return ans;} catch (SQLException e) {throw new RuntimeException(e);} finally {JDBC.close();}}public static User selectByID(Integer id) {Connection conn JDBC.getConnection();try {PreparedStatement ps conn.prepareStatement(select * from user2 where id ?);ps.setInt(1, id);ResultSet resultSet ps.executeQuery();User user new User();while (resultSet.next()) {user.setId(resultSet.getInt(id));user.setName(resultSet.getString(name));user.setBalance(resultSet.getDouble(balance));}return user;} catch (SQLException e) {throw new RuntimeException(e);} finally {JDBC.close();}}public static String updateByID(User user) {Connection conn JDBC.getConnection();try {PreparedStatement ps conn.prepareStatement(update user2 set name ?, balance ? where id ?);ps.setString(1, user.getName());ps.setDouble(2, user.getBalance());ps.setInt(3, user.getId());int i ps.executeUpdate();return i 0 ? 成功 : 失败;} catch (SQLException e) {throw new RuntimeException(e);} finally {JDBC.close();}} }测试 查询所有 Testpublic void test01(){// 查询所有ListUser users UserDao.select();for (User user : users){System.out.println(user);}}根据id查询 Testpublic void test02() {// 根据id查询User user UserDao.selectByID(1);System.out.println(user);}根据id修改 Testpublic void test03() {// 根据id修改User user new User();user.setId(1);user.setName(李逍遥);user.setBalance(2000.00);System.out.println(UserDao.updateByID(user));// 根据id查询user UserDao.selectByID(1);System.out.println(user);}
http://www.yutouwan.com/news/168944/

相关文章:

  • 优礼品网站模板如何建立一家公司网站
  • 北京网站建设课程培训班桂林漓江景区游玩攻略
  • 怎样用百度做网站优化国内网站开发公司
  • 浙江网站建设推广公司找哪家平邑县门户网站
  • 广州外贸网站推广免费建站网站一级大录像不卡在线看网页
  • 哪儿网站建设费用低建立网站目录结构时正确的建议是
  • 专业做轮胎的网站如何在本地发布自己做的网站
  • 山东网站备案图片网站怎么做排名
  • 淄博网站建设多好的设计师网站有哪些
  • 户县规划建设和住房保障局网站做牙齿的招聘网站
  • 关于建设网站的培训知识做网络调查的网站赚钱
  • 领手工在家做的网站拷问wordpress
  • 安徽门户网站建设个人网站百度推广收费
  • 网站建设美化新手建站教程视频
  • 亚马逊网站做外贸阿里巴巴网络营销方式
  • 上海网站建设公司页溪网络微信公众号推文模板素材
  • 什么是品牌网站建设网络服务器的功能
  • 哪个网站买域名便宜单位网站建设框架
  • 网站制作里面链接怎么做什么网站专门做二手物品
  • 零食店网站构建策划报告网站301和302
  • 哪里可以在百度做网站石家庄做网站建设的公司排名
  • 兴义网站建设公司做服装要看国外哪些网站
  • seo网站三种链接全国企业信息查询网
  • ps做的网站怎样在dw里打开山东建设机械协会官方网站
  • 51网站一起做网店安庆市建设银行网站
  • 什么是网站建设需求wordpress 电子书插件
  • 网站关键字设置海口网站建设公司哪家好
  • 百度资料怎么做网站WordPress回车按钮
  • 各大免费推广网站linux wordpress路径
  • 购物网站是用什么软件做的wordpress登录的图片