jdbc

JDBC的常用方法

一曲冷凌霜 提交于 2020-03-11 17:12:17
在上一篇文章我们讲了一些基本使用 JDBC-DBCP-MYBATIS 。 1.防止SQL注入 我们在写sql语句时,为了方便可能会进行拼接字符串,这样做的弊端就是可能被sql注入攻击,解决的办法也很简单。 //获取数据库连接 Connection connection = DBUtils.getConnection(); //在写sql语句时,使用?代替变量 String sql = "select * from user where username=? and password=?"; //使用预编译对象进行预编译,就不使用原始的Statement对象 PreparedStatement preparedStatement = connection.prepareStatement(sql); //预编译后进行?的替换 preparedStatement.setString(1,"csdn"); preparedStatement.setString(2,"csdn123"); ResultSet resultSet = preparedStatement.executeQuery(); while(resultSet.next()){ System.out.println(resultSet.getString(1)); } 2.SQL批量操作

org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested

橙三吉。 提交于 2020-03-11 17:06:01
org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown system variable ‘query_cache_size’) cloud项目连接mysql8.0.13时报错, 也更新了驱动, 下面展示一些 内联代码片 。 这是url // An highlighted block db : num : 1 user : $ { MYSQL - USER : root } password : $ { MYSQL - PWD : root } url : 0 : jdbc : mysql : / / $ { MYSQL - HOST : 127.0 .0 .1 } : $ { MYSQL - PORT : 3306 } / $ { MYSQL - DB : cloudx_config } ? characterEncoding = utf8 & zeroDateTimeBehavior = convertToNull &

数据库连接技术——JDBC

﹥>﹥吖頭↗ 提交于 2020-03-11 03:12:02
JDBC(Java DataBase Connectivity)是 SUN 公司提供的一种数据库访问规则、规范, 由于数据库种类较多,并且 Java 语言使用比较广泛,SUN 公司就提供了一种规范,让其他的数据库提供商去实现底层的访问规则。 我们的 Java 程序只要使用 SUN 公司提供的 JDBC 驱动即可。 使用 JDBC 的基本步骤 注册驱动: DriverManager . registerDriver ( new com . mysql . jdbc . Driver ( ) ) ; 建立连接:参数一: 协议 + 访问的数据库 , 参数二: 用户名 , 参数三: 密码。 //DriverManager.getConnection("jdbc:mysql://localhost/test?user=monty&password=greatsqldb"); conn = DriverManager . getConnection ( "jdbc:mysql://localhost/student" , "root" , "root" ) ; 创建 statement:跟数据库打交道,一定需要这个对象。 st = conn . createStatement ( ) ; 执行 sql ,得到 ResultSet:执行查询,得到结果集。 String sql = "select

[Spring学习]------spring-jdbc和ORM

♀尐吖头ヾ 提交于 2020-03-10 22:10:10
文章目录 什么是JDBC,它的出现解决了什么样的问题? Spring集成JDBC ORM的出现解决了什么问题 Spring集成Mybatis 相关文章 什么是JDBC,它的出现解决了什么样的问题? 官方定义:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成;JDBC作为一种协议的体现,在Java代码中就是一系列的接口与实现的约定。数据库驱动厂商以及应用程序开发者基于这一协议进行对接,从而解耦,从而可以相互分离的独立发展。 个人理解:jdbc做的就是连接数据库,执行sql的事情。 解决的问题:如下图所示。最开始,每个数据库厂商都自己定义了一套交互协议,这样造成的结果是:对于每一种数据库,客户端都需要一套对应的实现。而jdbc的出现使得程序员不太需要关注用的是哪种数据库,按照jdbc的提供的规范进行编程即可。 jdbc的解决方案:可以由图中看出,本质上jdbc是包裹了与各种数据库之间的实现方式,相当是一个策略器。而数据库厂商也对应的支持了jdbc标准。应用程序和数据库之间可以通过jdbc来进行交互。 Spring集成JDBC spring-jdbc集成了jdbc功能,使得spring项目可以通过jdbc与数据库进行交互。 相关代码

(四)Mybatis 面试题

房东的猫 提交于 2020-03-10 13:52:51
Mybatis 86、Mybatis是什么? mybatis是一个持久层ORM框架。它内部封装了jdbc,使得开发更简洁,更高效。 Mybatis使开发者只需要关注sql语句本身,简化JDBC操作,不需要在关注加载驱动、创建连接、处理SQL语句等繁杂的过程。 MyBatis可以通过xml或注解完成ORM映射关系配置。 87、Mybatis和JDBC的关系? (标红) JDBC是Java提供的一个操作数据库的API; MyBatis是一个持久层ORM框架,底层是对JDBC的封装。 MyBatis对JDBC操作数据库做了一系列的优化: (1)mybatis使用已有的连接池管理,避免浪费资源,提高程序可靠性。 (2)mybatis提供插件自动生成DAO层代码,提高编码效率和准确性。 (3)mybatis 提供了一级和二级缓存,提高了程序性能。 (4)mybatis使用动态SQL语句,提高了SQL维护。(此优势是基于XML配置) (5)mybatis对数据库操作结果进行自动映射 88、什么是ORM?(标红) ORM的全称是Object Relational Mapping,即对象关系映射。 描述的是对象和表之间的映射。操作Java对象,通过映射关系,就可以自动操作数据库。 在ORM关系中,数据库表对应Java中的类,一条记录对应一个对象,一个属性对应一个列。 常见的ORM框架

Logstash的配置

。_饼干妹妹 提交于 2020-03-10 08:26:48
MySql 到 Elasticsearch input { jdbc { # 驱动jar包的位置 jdbc_driver_library => "/usr/local/logstash/jdbc-driver-library/mysql-connector-java-8.0.19.jar" # 驱动类名 jdbc_driver_class => "com.mysql.cj.jdbc.Driver" # 数据库连接 jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/base_db?characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull" # mysql用户名 jdbc_user => "root" # mysql密码 jdbc_password => "123456" # 数据库重连尝试次数 connection_retry_attempts => "3" # 开启分页查询(默认false不开启) jdbc_paging_enabled => true # 单次分页查询条数(默认100000,若字段较多且更新频率较高,建议调低此值) jdbc_page_size =>

Caused by: java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represen

帅比萌擦擦* 提交于 2020-03-10 08:19:21
这是MySQL版本的问题。 解决方式有两种,一是降低mysql的版本号,把6.x.x降到5.x.x即可; 另一种方式就是修改URL: 原来是:url=jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=utf-8 改成: url=jdbc:mysql://localhost:3306/mybatisdb?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC 来源: CSDN 作者: cs不打游戏 链接: https://blog.csdn.net/qq_43185463/article/details/104755781

commons-dbutils工具介绍及实战

放肆的年华 提交于 2020-03-10 05:54:48
1.commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。 API介绍: •org.apache.commons.dbutils.QueryRunner •org.apache.commons.dbutils.ResultSetHandler •工具类 org.apache.commons.dbutils.DbUtils 链接如下: https://commons.apache.org/proper/commons-dbutils/ 2.DbUtils类介绍 DbUtils :提供如关闭连接、装载JDBC驱动程序等常规工作的工具类,里面的所有方法都是静态的( 关闭资源、加载驱动 )。主要方法如下: •public static void close(…) throws java.sql.SQLException: DbUtils类提供了三个重载的关闭方法。这些方法检查所提供的参数是不是NULL,如果不是的话,它们就关闭Connection、Statement和ResultSet。 •public static void closeQuietly(…): 这一类方法不仅能在Connection

jdbc问题

泪湿孤枕 提交于 2020-03-10 04:37:36
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; ds.setUrl ( "jdbc:mysql://localhost:3306/1?useUnicode=true&characterEncoding=utf8" ) ; 设定数据库的字符和编码解决 来源: CSDN 作者: 全世界第一鶸 链接: https://blog.csdn.net/HreathSkill/article/details/104753628