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

可以直接进入网站的正能量网站网站开发多少钱一天是

可以直接进入网站的正能量网站,网站开发多少钱一天是,怎么查看服务器上的网站,资源下载站 wordpress文章目录 0 说明1 如何使用jdbc操作数据库1.1 加载数据库驱动1.2 建立数据库连接1.3 创建Statement或者PreparedStatement用来执行SQL1.4 开始执行SQL语句1.5 处理结果集1.6 关闭连接1.7 完整代码 2 批量操作数据库3 如何打印SQL语句4 jdbc常用开源类库 1 JDBC实现往MySQL插入百… 文章目录 0 说明1 如何使用jdbc操作数据库1.1 加载数据库驱动1.2 建立数据库连接1.3 创建Statement或者PreparedStatement用来执行SQL1.4 开始执行SQL语句1.5 处理结果集1.6 关闭连接1.7 完整代码 2 批量操作数据库3 如何打印SQL语句4 jdbc常用开源类库 1 JDBC实现往MySQL插入百万级数据 2 详解JDBC(Java Database connect) 0 说明 JDBCJava 数据库连接是 Java 语言中用来连接和操作关系型数据库的 API。使用 JDBC我们可以通过编写 Java 代码来访问各种数据库包括 MySQL、Oracle、SQL Server 等。 JDBC 是基于 Java 的标准接口它提供了一组接口和类可以让 Java 应用程序与各个数据库进行交互。JDBC 的工作原理如下 1.、加载数据库驱动程序 在使用 JDBC 前需要先加载相应的数据库驱动程序不同的数据库使用的驱动程序不同。通常情况下我们需要将驱动程序的 jar 文件添加到项目的类路径中并在代码中使用 Class.forName() 方法来加载驱动程序。 2、连接数据库 使用 DriverManager 类来连接数据库该类提供了一组方法来获取数据库连接。连接字符串通常由以下三部分组成协议、主机名和数据库名称。 3、执行 SQL 语句 连接成功后就可以通过 Connection 对象创建 Statement 或 PreparedStatement 对象用于执行 SQL 语句。Statement 支持静态 SQL 语句而 PreparedStatement 支持动态 SQL 语句。执行 SQL 语句后可以通过 ResultSet 对象获取查询结果。 4.、关闭连接 完成数据库操作后必须关闭 Connection、Statement 和 ResultSet 对象释放资源。 1 如何使用jdbc操作数据库 1.1 加载数据库驱动 在代码中使用 Class.forName() 方法加载数据库驱动程序。 Class.forName(com.mysql.cj.jdbc.Driver); 1.2 建立数据库连接 使用 DriverManager 类的 getConnection() 方法传入连接字符串、用户名和密码等参数来获取数据库连接。 private String url jdbc:mysql://localhost:3306/school; private String user root; private String password root;Connection conn DriverManager.getConnection(url, user, password); 1.3 创建Statement或者PreparedStatement用来执行SQL 使用 Connection 对象的 createStatement() 或 prepareStatement() 方法创建 Statement 或 PreparedStatement 对象用于执行 SQL 语句。 String sql select * from user limit 1; PreparedStatement preparedStatement connection.prepareStatement(sql); 1.4 开始执行SQL语句 使用 Statement 或 PreparedStatement 对象的 executeQuery() 或 executeUpdate() 方法执行 SQL 语句返回 ResultSet 或更新的行数。 String sql select * from user limit 1; ResultSet rs preparedStatement .executeQuery(sql); int count preparedStatement .executeUpdate(); 1.5 处理结果集 使用 ResultSet 对象的 getXXX() 方法获取查询结果例如 getInt()、getString() 等方法。 while (rs.next()) {int id rs.getInt(id);String name rs.getString(name);int age rs.getInt(age); }1.6 关闭连接 使用 Connection、Statement 和 ResultSet 对象的 close() 方法关闭连接释放资源。 rs.close();stmt.close();conn.close();1.7 完整代码 Testpublic void t10() {String url jdbc:mysql://localhost:3306/school;String user root;String password root;try {Class.forName(com.mysql.cj.jdbc.Driver);} catch (ClassNotFoundException e) {log.error(error msg:【{}】, e);throw new IllegalArgumentException(e);}try {Connection conn DriverManager.getConnection(url, user, password);String sql select * from user limit 10;PreparedStatement preparedStatement conn.prepareStatement(sql);ResultSet resultSet preparedStatement.executeQuery(sql);int id 0;String userName null, sex null, address null;java.sql.Date birthday null;while (resultSet.next()) {id resultSet.getInt(1);userName resultSet.getString(2);birthday resultSet.getDate(3);sex resultSet.getString(4);address resultSet.getString(5);log.info(结果集id-【{}】userName-【{}】birthday-【{}】sex-【{}】address-【{}】, id, userName, birthday, sex, address);}conn.close();preparedStatement.close();resultSet.close();} catch (SQLException e) {log.error(error msg:【{}】, e);throw new IllegalArgumentException(e);}}2 批量操作数据库 说明1url拼接 rewriteBatchedStatementstrue 说明2事务关闭自动提交手动提交事务 connection.setAutoCommit(false);connection.commit(); 说明3executeBatch();批量执行 String url jdbc:mysql://localhost:3306/school?rewriteBatchedStatementstrue;String user root;String password root;private void jdbcSave(ListUser cachedList) {Connection connection null;PreparedStatement preparedStatement null;try {Class.forName(com.mysql.cj.jdbc.Driver);connection DriverManager.getConnection(url, user, password);String sql insert into user(user_name,birthday,sex,address) values (?,?,?,?);preparedStatement connection.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);connection.setAutoCommit(false);for (User item : cachedList) {preparedStatement.setString(1, item.getUserName());preparedStatement.setDate(2, new Date(item.getBirthday().getTime()));preparedStatement.setString(3, item.getSex());preparedStatement.setString(4, item.getAddress());preparedStatement.addBatch();}preparedStatement.executeBatch();connection.commit();} catch (ClassNotFoundException | SQLException e) {e.printStackTrace();} finally {if (preparedStatement ! null) {try {preparedStatement.close();} catch (SQLException e) {log.error(error msg:[{}], e);throw new RuntimeException(e);}}if (connection ! null) {try {connection.close();} catch (SQLException e) {log.error(error msg:[{}], e);}}}}3 如何打印SQL语句 /*** param sql 原始SQL* param parameterList 参数列表* return 返回SQL* description jdbc打印执行SQL*/private static String showFinalSql(String sql, ListObject parameterList) {//1 如果没有参数说明是不是动态SQL语句int paramCount 0;if (CollectionUtils.isNotEmpty(parameterList)) {paramCount parameterList.size();}if (paramCount 1) {return sql;}//2 如果有参数则是动态SQL语句StringBuilder returnSql new StringBuilder();String[] subSql sql.split(\\?);for (int i 0; i paramCount; i) {Object item parameterList.get(i);if (item instanceof Integer) {returnSql.append(subSql[i]).append( ).append(item).append( );} else if (item instanceof Date) {String formatStr DateFormatUtils.format((Date) (item), yyyy-MM-dd HH:mm:ss);returnSql.append(subSql[i]).append().append(formatStr).append();} else {returnSql.append(subSql[i]).append().append(item).append();}}if (subSql.length parameterList.size()) {returnSql.append(subSql[subSql.length - 1]);}return returnSql.toString();} 核心代码打印日志使用slf4j // 组装入参数据 ListObject list Arrays.asList(item.getUserName(), new java.sql.Date(item.getBirthday().getTime()), item.getSex(), item.getAddress()); // 调用自定义方法打印SQL showFinalSql(sql,list); private void jdbcSave(ListUser cachedList) {SqlSession sqlSession sqlSessionFactory.openSession();Connection connection sqlSession.getConnection();PreparedStatement preparedStatement null;sqlSessionFactory.getConfiguration();try {Class.forName(com.mysql.cj.jdbc.Driver);String sql insert into user(user_name,birthday,sex,address) values (?,?,?,?);preparedStatement connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);connection.setAutoCommit(false);for (User item : cachedList) {preparedStatement.setString(1, item.getUserName());preparedStatement.setDate(2, new java.sql.Date(item.getBirthday().getTime()));preparedStatement.setString(3, item.getSex());preparedStatement.setString(4, item.getAddress());preparedStatement.addBatch();ListObject list Arrays.asList(item.getUserName(), new java.sql.Date(item.getBirthday().getTime()), item.getSex(), item.getAddress());showFinalSql(sql,list);}preparedStatement.executeBatch();connection.commit();} catch (ClassNotFoundException | SQLException e) {e.printStackTrace();} finally {if (preparedStatement ! null) {try {preparedStatement.close();} catch (SQLException e) {log.error(error msg:[{}], e);throw new RuntimeException(e);}}if (connection ! null) {try {connection.close();} catch (SQLException e) {log.error(error msg:[{}], e);}}}}4 jdbc常用开源类库 https://www.cnblogs.com/fnz0/p/5858546.html
http://www.sczhlp.com/news/194681/

相关文章:

  • 网站建站的基本步骤it公司
  • 广州企业网站排名柳州网站建设
  • 赛扶做网站dw建设个人网站步骤
  • crm系统网站求职网站网页设计
  • 甘肃省和住房建设厅网站备案系统新增网站
  • 中学网站源码昆明自助建站软件
  • 南通网站建设seo杭州网站建设就找蓝韵网络
  • 网站一屏做多大中国建设人才信息网
  • 为什么我的网站百度不收录建设部门户网站
  • 哪些h5网站比较好vk社交网站做婚介
  • 网站如何推广运营定制旅游网站开发
  • 网站备案信息修改建筑模板怎么装
  • 注册网站哪个网站可以做设计比赛
  • 网站内容更新用什么企业网站域名在哪申请
  • 福州网站开发cmspython做的网站有什么漏洞
  • 媒体135网站营销计划怎么写
  • 手机网站方案编写发稿时间是什么意思
  • 桂林生活网官方网站做a视频 免费网站
  • 自己怎么做团购网站电商网站设计的企业
  • 题解:CF1830E Bully Sort
  • 斑马日记2025.10.10
  • 斑马日记2025.10.12
  • Androidify:基于Gemini AI的安卓机器人定制应用
  • 网站建设合同浩森宇特如何注册公司名称
  • 游戏公司官方网站模版服务器租用哪家好
  • 大型营销型网站制作建设银行网站信任
  • 广州电玩网站开发网站构建流程
  • 足球比赛直播阿根廷无锡做网站优化多少钱
  • php做的网站怎么调试云南百度公司
  • 哈尔滨专业网站制作设计批量关键词排名查询工具