jdbc

Postgres bytea error when binding null to prepared statements

坚强是说给别人听的谎言 提交于 2020-03-03 09:01:59
问题 I am working with a Java application which uses JPA and a Postgres database, and I am trying to create a flexible prepared statement which can handle a variable number of input parameters. An example query would best explain this: SELECT * FROM my_table WHERE (string_col = :param1 OR :param1 IS NULL) AND (double_col = :param2 OR :param2 IS NULL); The idea behind this "trick" is that if a user specifies only one parameter, say :param1 , we can just bind null to :param2 , and the WHERE clause

java.sql.SQLException: Access denied for user '用户名'@'localhost' (using password: YES)

拈花ヽ惹草 提交于 2020-03-03 06:32:12
该错误是在进行spring和mybatis整合,进行单元测试时出现的错误 说明:该类的错误一般是properties文件出现的问题,在进行数据库连接时,获取不到数据 常见错误类型: ① (using password: YES):用户名未获取到 ② (using password: NO):密码未获取到 解决:出现这种问题的原因有很多 1. 配置文件的key与获取时的key不一致 2. 配置文件里的用户名或密码中有空格(尤其注意值前后的空格,见下面代码) driverClassName = com . mysql . jdbc . Driver url = jdbc : mysql : / / localhost : 3306 / test name = [ 空格 ] root [ 空格 ] password = [ 空格 ] root [ 空格 ] 注:标注 [ 空格 ] 的地方不能有空格 将properties的name属性配置为了username driverClassName = com . mysql . jdbc . Driver url = jdbc : mysql : / / localhost : 3306 / test username = root password = root 说明:由于username是关键字,取值时是取不到的,所以才会报这个错误

Spring的JDBC

纵饮孤独 提交于 2020-03-03 06:27:38
为什么使用JDBCTemplate:当我们执行完查询结果后,需要将结果集中的结果封装到对象中去。这是个体力活,很麻烦,我们就引入了JDBCTemplate。 也就是Spring框架对JDBC的简单封装,提供了一个JDBCTemplate对象简化JDBC的开发 步骤: 1. 导入jar包 2. 创建JdbcTemplate对象。依赖于数据源DataSource * JdbcTemplate template = new JdbcTemplate(ds); 3. 调用JdbcTemplate的方法来完成CRUD的操作 * update():执行DML语句。增、删、改语句 * queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个map集合 * 注意:这个方法查询的结果集长度只能是1 * queryForList():查询结果将结果集封装为list集合 * 注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中 * query():查询结果,将结果封装为JavaBean对象 * query的参数:RowMapper * 一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装 * new BeanPropertyRowMapper<类型>(类型.class)

Access denied for user 'root'@'x.x.x.x'

送分小仙女□ 提交于 2020-03-03 05:31:00
java.sql.SQLException: Access denied for user ‘root’@‘x.x.x.x’ (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870) at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234) at com.mysql.jdbc.ConnectionImpl

mybatis-plus快速入门以及和spring整合

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-03 04:19:23
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 官网: https://mybatis.plus/ 或 https://mp.baomidou.com/ 对于 Mybatis整合MP有常常有三种用法,分别是Mybatis+MP、Spring+Mybatis+MP、Spring Boot+Mybatis+MP。 创建数据库以及表: -- 创建测试表 CREATE TABLE `tb_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_name` varchar(20) NOT NULL COMMENT '用户名', `password` varchar(20) NOT NULL COMMENT '密码', `name` varchar(30) DEFAULT NULL COMMENT '姓名', `age` int(11) DEFAULT NULL COMMENT '年龄', `email` varchar(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT

Spring使用JDBC访问MySQL数据库

♀尐吖头ヾ 提交于 2020-03-03 01:07:19
在Java应用程序开发中,使用JDBC访问MySQL数据库是Java开发者常用的技术。在Spring框架中,Spring对JDBC又进行了封装,简化了程序访问数据库的复杂度。本课主要讨论在Spring框架中如何使用封装的JDBC访问MySQL数据库。通过本课的学习,可以解决如下问题。 ● 在Spring框架下,如何让程序连接数据库? ● 如何利用DAO技术从数据源读取和写入数据? 企业级应用开发都会涉及到对数据库的访问,在Java编程环境中,访问数据库是非常繁琐的事情,需要编写启动数据库连接、准备和执行SQL语句、处理事务和异常、关闭连接等大量数据库操作代码。 使用Spring框架可以简化Java程序对数据库的访问,Spring提供了一套完整的数据库访问框架,用于简化各种数据库访问技术的使用。Spring框架支持JDBC、Hibernate、Java Perssitence等数据库访问技术,本文主要讨论JDBC数据库访问技术。 1、 配置数据源 要让Spring能够访问数据库,就要把数据库的位置,以及访问数据库的账号和密码告诉Spring。这个过程称为配置数据源。Spring提供了多种方式配置数据源,下面主要讨论基于JDBC驱动方式配置数据源。 Spring提供的JDBC驱动提供了三类数据源的配置方式,开发者可以根据程序需要选择不同的配置方式,配置方式及其配置说明如下表所示。 表1

喜大普奔,微软Microsoft JDBC Driver For SQL Server已发布到maven中央仓库

泄露秘密 提交于 2020-03-03 00:17:58
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/nakiri_arisu/article/details/89086826 结论: 不要尽信博客,大多数博客都是复制粘贴瞎几把扯淡。 很多博客都让你在maven中添加如下的依赖 <!-- mssqlserver --> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <scope>4.0</scope> <version>4.0</version> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>6.2.0.jre8</version> <scope>runtime</scope> </dependency> 12345678910111213 然后让你本地 mvn install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4

Jmeter之JDBC请求参数化

帅比萌擦擦* 提交于 2020-03-02 21:13:05
Jmeter之JDBC请求参数化 Jmeter之JDBC请求参数化 在HTTPsample中,我们经常会使用参数化或者正则表达提取器(关联)使我们的请求参数转换为变量,以便更正确、多样的调试脚本。那么,同样是工作中经常用到的JDBC请求,它的参数化以及关联该怎么做呢?这篇文章给大家详细介绍JDBC请求的参数化。 环境准备 Jmeter(我使用的是3.1版本,最新版本为3.3,不影响本次演示) 一个可连接数据库 JDBC驱动 OK,下面进入正文。 A 首先,我们在测试计划下,把JDBC驱动包添加上,也可以将驱动包放入jmeter的lib目录下,即可自动加载。 B 然后,新建一个线程组→JDBC Connection Configuration(连接数据库组件)→JDBC Request(JDBC请求) C 接下来,配置JDBC Connection Configuration Ps 下面介绍比较重要的几个参数其他地方可照截图配置即可。 Variable Name:连接名称,自定义填写。 Validation Query : 验证查询 ,不同版本的填写格式可能不同(比如3.1是Select 1,2.6是Select1),格式错误会报错。最新的Jmeter3.3已经做成下拉框,比较人性化。 Database URL:数据库url,格式固定。 jdbc:mysql://{ip}:{port

数据库访问

三世轮回 提交于 2020-03-02 20:43:17
● 加载数据库驱动; ● 建立数据连接; ● 创建Statement对象; ● 执行SQL语句; ● 访问结果集; 加载数据库驱动 通常使用Class类的forName()静态方法来加载数据库的驱动,其语法格式如下所示: //加载驱动 Class.forName(数据库驱动类名); 例如: Class.forName("com.mysql.jdbc.Driver"); //加载MySQL驱动 需要注意的是:不同的数据库其数据库驱动类是不同的,例如:Oracle数据库的驱动类是oracle.jdbc.driver.OracleDriver,而MySQL的数据库驱动类是com.mysql.jdbc.Driver。数据库厂商在提供数据库驱动(通常是一个或几个jar文件)时,会有相应的文档说明。 建立数据库连接 在使用JDBC操作数据库之前,需要先创建一个数据库连接,使用DriverManager类的getConnection()静态方法来获取数据库连接对象,其语法格式如下所示: DriverManager.getConnection(String url,String user,String pass); 其中,getConnection()方法有三个参数,具体如下: ● url:数据库连接字符串,遵循的格式是“jdbc:驱动:其他”,不同的数据库连接的URL也有所不同。 ● user

java简单jdbc查询操作

家住魔仙堡 提交于 2020-03-02 20:32:42
所采用的mysql的数据库驱动版本:5.0.8 mysql-connector-java-5.0.8-bin.jar 程序结构图: 表结构: 创表sql: Create Table CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(200) DEFAULT NULL, `password` varchar(32) DEFAULT NULL, `sex` char(1) DEFAULT NULL, `birthday` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 package com.itheima.mydatis.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Date; public class JdbcTest { // 定义sql