热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

spring-JDBC配置,使用,一些报错

一.配置spring的jdbc的pom.xml遇到报错missingartifactXXXXX。修改dependency的版本如下<dependency>

一. 配置spring的jdbc的pom.xml遇到报错 missing artifactXXXXX。

修改dependency的版本如下


        org.springframework
        spring-jdbc
        3.1.1.RELEASE

 

二.代码的execute执行方法报错,增加dependency如下:


    org.springframework
    spring-tx
    4.3.20.RELEASE

 

三.代码执行报错 Caused by: org.xml.sax.SAXParseException; 

原因是设置的数据库的密码太复杂了,可能有一些标识符识别的问题,修改了一下数据库的密码。

		
		
		  

 

四.xml中的mysql的driver的jar包没有导入,导致不能识别

增加dependency


    mysql
    mysql-connector-java
    8.0.15

其中还有一个问题,新增的这个connector的包版本比较新,报了一个错误:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.需要把xml中的value更新一下。

 

五.xml中配置的mysql的库是spring,数据库中并没有创建,出现报错:Could not get JDBC Connection; nested exception is java.sql.SQLSyntaxErrorException: Unknown database 'spring'

在mysql中创建一个spring的数据库就可以了

 

六.报错Could not get JDBC Connection; nested exception is java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

原因是mysql的时区设置有问题,需要在mysql中修改。

打开mysql的命令行,执行语句:

mysql> show variables like '%time_zone%';
mysql> set global time_zOne='+8:00'

  

七 示例代码 

applicationContext.xml



	
	
	
	
		
		
		
		
		
		
		
	
	
	
		
	
	

	  

 

JdbcTemplateTest.java

package com.itheima.jdbcTemplate;

import org.apache.catalina.core.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;

public class JdbcTemplateTest {
	public static void main(String[] args) {
		ClassPathXmlApplicationContext applicatiOnContext= 
				new ClassPathXmlApplicationContext("com/itheima/jdbcTemplate/applicationContext.xml");
		JdbcTemplate jdTemplate = (JdbcTemplate) applicationContext.getBean("jdbcTemplate");
		jdTemplate.execute("create table account ( id int primary key auto_increment, username varchar(50), balance double)");
		System.out.println("账户表account创建成功");
	}
}

  

pom.xml



	4.0.0

	com.example
	demo
	0.0.1-SNAPSHOT

	jar
	
	demo
	Demo project for Spring Boot


	
		org.springframework.boot
		spring-boot-starter-parent
		2.1.0.RELEASE
		 
	

	
		spring-boot-yiibai
		UTF-8
		UTF-8
		1.8
		
		com.example.demo.DemoApplication
	

	
		

		
		
		


		
			org.aspectj
			aspectjrt
			1.9.3
		
		
		
			org.aspectj
			aspectjweaver
			1.9.3
		

		
			junit
			junit
			4.12
			test
		

		
			org.springframework.boot
			spring-boot-starter
		
		
			org.springframework.boot
			spring-boot-starter-thymeleaf
		
		
		
			org.springframework.boot
			spring-boot-starter-web

		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
		
			org.springframework
			spring-aop
			4.3.6.RELEASE
		
	
        org.springframework
        spring-jdbc
        3.1.1.RELEASE
    
    

    mysql
    mysql-connector-java
    8.0.15

    


    org.springframework
    spring-tx
    4.3.20.RELEASE


	

	
		
			
				com.spotify
				docker-maven-plugin
				1.0.0

				
					${docker.image.prefix}/${project.artifactId}
					src/main/docker
					
						
							${project.build.directory}
							${project.build.finalName}.jar
						
					
				
			
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	



  

其他.  xml的配置太复杂了,数据库配置应该剥离出来的,后面估计要改。

一个正常的创建类--类对应数据库的表--操作表的接口--实现表的接口--测试代码,这个是数据库操作和代码触发都写在实现接口中,以后mybatis会分离数据库操作和实现操作。

 

  


推荐阅读
author-avatar
香港君媚儿上官燕_803
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有