当前位置: 首页 > 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://wiki.neutronadmin.com/news/168944/

相关文章:

  • 如何搭建网站后台技术支持广州网站建设
  • 网站集群建设价格如何注册网上商城
  • 已有域名如何在花生壳网站做二级域名托管网页视频下载慢怎么办
  • 区块链技术做网站网址域名是什么
  • 保亭住房和城乡建设局网站网站建设视频教程免费下载
  • 怎么网站代备案屏蔽 wordpress 插件下载
  • 公司网站建设备选方案评价标准百度网站收录
  • 杭州拱墅区网站建设网站建设与管理实验目的
  • 双语版网站引导页wordpress seo plugin
  • 免费个人网站+上传网络营销方案怎么写
  • 公司做网站app入什么科目有奖竞猜网站建设
  • 大区直播间网站开发制作用logo做ppt模板下载网站
  • 万州网站建设公司站长之家查询网站
  • 贵阳市城乡建设厅网站外贸网站怎么做谷歌搜索
  • 2017网站建设费用个人品牌网站设计
  • 新建的网站百度搜不到外贸在哪个网站做
  • 深圳住房和建设局网站免费设计装修公司
  • 嘉兴云建站模板seo优化搜索引擎网站优化推广网络关键词优化-乐之家网络科技
  • 第二课强登陆网站新型智库建设的意见免费发布信息网站平台
  • 世界知名网站王烨诡异复苏的漫画叫什么
  • 安徽省建设厅网站工程师查询东莞网吧
  • 在国外做网站网站犯法吗哪个网站可以上传设计的作品
  • 网站直播间 是怎么做的企业网站建设方案范文
  • 网站建设 ui设计公司网站活动页面设计
  • 如果有域名和空间怎么做网站中小学网站建设
  • 网站移动端权重怎么做学网站建设需要什么软件有哪些
  • 甘肃永靖建设住建局网站做花生的网站
  • 做网站资讯运营淳安千岛湖建设集团网站
  • 如何建设简单网站手机网站建设的背景
  • 网站后台问题php购物网站开发设计与实现