springbootspring3 jdbctemplatee没有注册bean还能@autowire 吗

SpringBoot 使用 JDBC
阿辉 o 247次浏览 o
1.在POM.xml中增加jar包
&dependency&
&groupId&mysql&/groupId&
&artifactId&mysql-connector-java&/artifactId&
&version&5.1.21&/version&
&/dependency&
&dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-jdbc&/artifactId&
&/dependency&
2.在application.properties中增加配制
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3.使用示例
public interface UserService {
* 新增一个用户
* @param name
* @param age
void create(String name, Integer age);
* 根据name删除一个用户高
* @param name
void deleteByName(String name);
* 获取用户总量
Integer getAllUsers();
* 删除所有用户
void deleteAllUsers();
public class UserServiceImpl implements UserService {
@Autowired
private JdbcTemplate jdbcT
public void create(String name, Integer age) {
jdbcTemplate.update(&insert into USER(NAME, AGE) values(?, ?)&, name, age);
public void deleteByName(String name) {
jdbcTemplate.update(&delete from USER where NAME = ?&, name);
public Integer getAllUsers() {
return jdbcTemplate.queryForObject(&select count(1) from USER&, Integer.class);
public void deleteAllUsers() {
jdbcTemplate.update(&delete from USER&);
推荐【SpringBoot】SpringBoot 无法注入 JDBCTemplate
直接在 controller 用的,下面是代码
1234567891011121314@Controller
public class MainController {
& & @Autowired
& & private JdbcTemplate jdbcT
& & @RequestMapping(&/test&)
& & @ResponseBody
& & public String data() {
& & & & Map&String, Object& objectMap = jdbcTemplate.queryForMap(&select * from userinfo&);
& & & & return JSONUtils.toJSONString(objectMap);
1234567891011121314package com.junbaor.
import org.springframework.boot.SpringA
import org.springframework.boot.autoconfigure.EnableAutoC
import org.springframework.boot.autoconfigure.SpringBootA
@SpringBootApplication
@EnableAutoConfiguration
public class Application {
& & public static void main(String[] args) {
& & & & SpringApplication.run(Application.class, args);
12345spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=rootroot
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.source-class-name=com.alibaba.druid.pool.DruidDataSource
123456789101112131415161718192021222324252627282930313233343536373839404142434445 12:02:27.830 &INFO 8516 --- [ & & & & & main] o.e.jetty.server.handler.ContextHandler &: Started o.s.b.c.e.j.JettyEmbeddedWebAppContext@547c04c4{/,file:/C:/Users/junbaor/AppData/Local/Temp/jetty-docbase.0/,AVAILABLE}
12:02:27.831 &INFO 8516 --- [ & & & & & main] org.eclipse.jetty.server.Server & & & & &: Started @5967ms
12:02:27.853 &WARN 8516 --- [ & & & & & main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mainController': Injection of autowired nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.jdbc.core.JdbcTemplate com.junbaor.springboot.controller.MainController.jdbcT nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
12:02:27.863 &INFO 8516 --- [ & & & & & main] o.e.jetty.server.handler.ContextHandler &: Stopped o.s.b.c.e.j.JettyEmbeddedWebAppContext@547c04c4{/,file:/C:/Users/junbaor/AppData/Local/Temp/jetty-docbase.0/,UNAVAILABLE}
12:02:27.871 ERROR 8516 --- [ & & & & & main] o.s.boot.SpringApplication & & & & & & & : Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mainController': Injection of autowired nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.jdbc.core.JdbcTemplate com.junbaor.springboot.controller.MainController.jdbcT nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
& & at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE]
& & at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE]
& & at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE]
& & at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE]
& & at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE]
& & at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE]
& & at com.junbaor.springboot.Application.main(Application.java:12) [classes/:na]
& & at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_31]
& & at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_31]
& & at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_31]
& & at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_31]
& & at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) [idea_rt.jar:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.jdbc.core.JdbcTemplate com.junbaor.springboot.controller.MainController.jdbcT nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
& & at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & ... 22 common frames omitted
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
& & at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1119) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
& & ... 24 common frames omitted
12:02:27.877 &INFO 8516 --- [ & & & & & main] .b.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/charsets.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/deploy.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/access-bridge-64.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/cldrdata.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/dnsns.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/jaccess.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/jfxrt.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/localedata.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/nashorn.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/sunec.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/sunjce_provider.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/sunmscapi.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/sunpkcs11.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/ext/zipfs.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/javaws.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/jce.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/jfr.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/jfxswt.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/jsse.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/management-agent.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/plugin.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/resources.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/jre/lib/rt.jar, file:/D:/Github/untitled1/target/classes/, file:/D:/Tools/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.3.3.RELEASE/spring-boot-starter-web-1.3.3.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/boot/spring-boot-starter/1.3.3.RELEASE/spring-boot-starter-1.3.3.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/boot/spring-boot/1.3.3.RELEASE/spring-boot-1.3.3.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-core/4.2.5.RELEASE/spring-core-4.2.5.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-context/4.2.5.RELEASE/spring-context-4.2.5.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.3.3.RELEASE/spring-boot-autoconfigure-1.3.3.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.3.3.RELEASE/spring-boot-starter-logging-1.3.3.RELEASE.jar, file:/D:/Tools/.m2/repository/ch/qos/logback/logback-classic/1.1.5/logback-classic-1.1.5.jar, file:/D:/Tools/.m2/repository/ch/qos/logback/logback-core/1.1.5/logback-core-1.1.5.jar, file:/D:/Tools/.m2/repository/org/slf4j/slf4j-api/1.7.16/slf4j-api-1.7.16.jar, file:/D:/Tools/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.16/jcl-over-slf4j-1.7.16.jar, file:/D:/Tools/.m2/repository/org/slf4j/jul-to-slf4j/1.7.16/jul-to-slf4j-1.7.16.jar, file:/D:/Tools/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.16/log4j-over-slf4j-1.7.16.jar, file:/D:/Tools/.m2/repository/org/yaml/snakeyaml/1.16/snakeyaml-1.16.jar, file:/D:/Tools/.m2/repository/org/springframework/boot/spring-boot-starter-validation/1.3.3.RELEASE/spring-boot-starter-validation-1.3.3.RELEASE.jar, file:/D:/Tools/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.0.32/tomcat-embed-el-8.0.32.jar, file:/D:/Tools/.m2/repository/org/hibernate/hibernate-validator/5.2.4.Final/hibernate-validator-5.2.4.Final.jar, file:/D:/Tools/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar, file:/D:/Tools/.m2/repository/org/jboss/logging/jboss-logging/3.3.0.Final/jboss-logging-3.3.0.Final.jar, file:/D:/Tools/.m2/repository/com/fasterxml/classmate/1.1.0/classmate-1.1.0.jar, file:/D:/Tools/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.6.5/jackson-databind-2.6.5.jar, file:/D:/Tools/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.5/jackson-annotations-2.6.5.jar, file:/D:/Tools/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.6.5/jackson-core-2.6.5.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-web/4.2.5.RELEASE/spring-web-4.2.5.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-aop/4.2.5.RELEASE/spring-aop-4.2.5.RELEASE.jar, file:/D:/Tools/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-beans/4.2.5.RELEASE/spring-beans-4.2.5.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-expression/4.2.5.RELEASE/spring-expression-4.2.5.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-webmvc/4.2.5.RELEASE/spring-webmvc-4.2.5.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/boot/spring-boot-starter-jetty/1.3.3.RELEASE/spring-boot-starter-jetty-1.3.3.RELEASE.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-servlets/9.2.15.v/jetty-servlets-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-continuation/9.2.15.v/jetty-continuation-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-http/9.2.15.v/jetty-http-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-util/9.2.15.v/jetty-util-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-io/9.2.15.v/jetty-io-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-webapp/9.2.15.v/jetty-webapp-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-xml/9.2.15.v/jetty-xml-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-servlet/9.2.15.v/jetty-servlet-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-security/9.2.15.v/jetty-security-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-server/9.2.15.v/jetty-server-9.2.15.v.jar, file:/D:/Tools/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/websocket/websocket-server/9.2.15.v/websocket-server-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/websocket/websocket-common/9.2.15.v/websocket-common-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/websocket/websocket-api/9.2.15.v/websocket-api-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/websocket/websocket-client/9.2.15.v/websocket-client-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/websocket/websocket-servlet/9.2.15.v/websocket-servlet-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/websocket/javax-websocket-server-impl/9.2.15.v/javax-websocket-server-impl-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-annotations/9.2.15.v/jetty-annotations-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-plus/9.2.15.v/jetty-plus-9.2.15.v.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/jetty-jndi/9.2.15.v/jetty-jndi-9.2.15.v.jar, file:/D:/Tools/.m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar, file:/D:/Tools/.m2/repository/org/ow2/asm/asm/5.0.1/asm-5.0.1.jar, file:/D:/Tools/.m2/repository/org/ow2/asm/asm-commons/5.0.1/asm-commons-5.0.1.jar, file:/D:/Tools/.m2/repository/org/ow2/asm/asm-tree/5.0.1/asm-tree-5.0.1.jar, file:/D:/Tools/.m2/repository/org/eclipse/jetty/websocket/javax-websocket-client-impl/9.2.15.v/javax-websocket-client-impl-9.2.15.v.jar, file:/D:/Tools/.m2/repository/javax/websocket/javax.websocket-api/1.0/javax.websocket-api-1.0.jar, file:/D:/Tools/.m2/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar, file:/D:/Tools/.m2/repository/com/alibaba/druid/1.0.18/druid-1.0.18.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/lib/jconsole.jar, file:/C:/Program%20Files/Java/jdk1.8.0_31/lib/tools.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-jdbc/4.2.5.RELEASE/spring-jdbc-4.2.5.RELEASE.jar, file:/D:/Tools/.m2/repository/org/springframework/spring-tx/4.2.5.RELEASE/spring-tx-4.2.5.RELEASE.jar, file:/D:/Program%20Files%20(x86)/JetBrains/IntelliJ%20IDEA%/lib/idea_rt.jar]
Process finished with exit code 1
额,貌似你都没配置jdbctemplate吧?难道spring boot能自己识别你的配置生成jdbcTemplate ?
解决方案:
修改 pom.xml
12345678910111213& & & & &!--
& & & & &dependency&
& & & & & & &groupId&org.springframework&/groupId&
& & & & & & &artifactId&spring-jdbc&/artifactId&
& & & & & & &version&4.2.5.RELEASE&/version&
& & & & &/dependency&
& & & & --&
& & & & &!--SpringBoot 使用 JDBCTemplate 引用下面这个包才会自动注入,不要引用上面按个--&
& & & & &dependency&
& & & & & & &groupId&org.springframework.boot&/groupId&
& & & & & & &artifactId&spring-boot-starter-jdbc&/artifactId&
& & & & &/dependency&
本文出自操他妈,转载时请注明出处及相应链接。
本文永久链接: /954.html
Ɣ回顶部15276人阅读
springboot(26)
转载请标明出处:
本文介绍springboot通过jdbc访问关系型mysql,通过spring的JdbcTemplate去访问。
初始化mysql:
DROP TABLE `account` IF EXISTS
CREATE TABLE `account` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`money` double DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `account` VALUES ('1', 'aaa', '1000');
INSERT INTO `account` VALUES ('2', 'bbb', '1000');
INSERT INTO `account` VALUES ('3', 'ccc', '1000');
引入依赖:
在pom文件引入spring-boot-starter-jdbc的依赖:
&org.springframework.boot&
&spring-boot-starter-jdbc&
引入mysql连接类和连接池:
&mysql-connector-java&
&com.alibaba&
&org.springframework.boot&
&spring-boot-starter-web&
配置相关文件
在application.properties文件配置mysql的驱动类,数据库地址,数据库账号、密码信息。
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
通过引入这些依赖和配置一些基本信息,springboot就可以访问数据库类。
public class Account {
private int
private double
....省略了getter. setter
public interface IAccountDAO {
int add(Account account);
int update(Account account);
int delete(int id);
Account findAccountById(int id);
List&Account& findAccountList();
具体的实现类:
package com.forezp.dao.
import com.forezp.dao.IAccountDAO;
import com.forezp.entity.A
import org.springframework.beans.factory.annotation.A
import org.springframework.jdbc.core.BeanPropertyRowM
import org.springframework.jdbc.core.JdbcT
import org.springframework.stereotype.R
import java.util.L
* Created by fangzhipeng on .
@Repository
public class AccountDaoImpl implements IAccountDAO {
@Autowired
private JdbcTemplate jdbcT
public int add(Account account) {
return jdbcTemplate.update("insert into account(name, money) values(?, ?)",
account.getName(),account.getMoney());
public int update(Account account) {
return jdbcTemplate.update("UPDATE
account SET NAME=? ,money=? WHERE id=?",
account.getName(),account.getMoney(),account.getId());
public int delete(int id) {
return jdbcTemplate.update("DELETE from TABLE account where id=?",id);
public Account findAccountById(int id) {
List&Account& list = jdbcTemplate.query("select * from account where id = ?", new Object[]{id}, new BeanPropertyRowMapper(Account.class));
if(list!=null && list.size()&0){
Account account = list.get(0);
return null;
public List&Account& findAccountList() {
List&Account& list = jdbcTemplate.query("select * from account", new Object[]{}, new BeanPropertyRowMapper(Account.class));
if(list!=null && list.size()&0){
return null;
public interface IAccountService {
int add(Account account);
int update(Account account);
int delete(int id);
Account findAccountById(int id);
List&Account& findAccountList();
具体实现类:
public class AccountService implements IAccountService {
@Autowired
IAccountDAO accountDAO;
public int add(Account account) {
return accountDAO.add(account);
public int update(Account account) {
return accountDAO.update(account);
public int delete(int id) {
return accountDAO.delete(id);
public Account findAccountById(int id) {
return accountDAO.findAccountById(id);
public List&Account& findAccountList() {
return accountDAO.findAccountList();
构建一组restful api来展示
package com.forezp.
import com.forezp.entity.A
import com.forezp.service.IAccountS
import org.springframework.beans.factory.annotation.A
import org.springframework.web.bind.annotation.*;
import java.util.L
* Created by fangzhipeng on .
@RestController
@RequestMapping("/account")
public class AccountController {
@Autowired
IAccountService accountS
@RequestMapping(value = "/list",method = RequestMethod.GET)
List&Account& getAccounts(){
return accountService.findAccountList();
@RequestMapping(value = "/{id}",method = RequestMethod.GET)
Account getAccountById(@PathVariable("id") int id){
return accountService.findAccountById(id);
@RequestMapping(value = "/{id}",method = RequestMethod.PUT)
String updateAccount(@PathVariable("id")int id , @RequestParam(value = "name",required = true)String name,
@RequestParam(value = "money" ,required = true)double money){
Account account=new Account();
account.setMoney(money);
account.setName(name);
account.setId(id);
int t=accountService.update(account);
return account.toString();
return "fail";
@RequestMapping(value = "",method = RequestMethod.POST)
String postAccount( @RequestParam(value = "name")String name,
@RequestParam(value = "money" )double money){
Account account=new Account();
account.setMoney(money);
account.setName(name);
int t= accountService.add(account);
return account.toString();
return "fail";
可以通过postman来测试,具体的我已经全部测试通过,没有任何问题。注意restful构建api的风格。
源码下载:
优秀文章推荐:
更多springboot 教程:
更多springcoud 教程:
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2483082次
积分:13131
积分:13131
排名:第1109名
原创:112篇
评论:861条
加我微信,拉你进Spring Cloud中国社区群
关注我的微信公众号,优质内容定期分享
文章:27篇
阅读:397438
文章:25篇
阅读:1499240
QQ交流群:
(群空间有很多优质电子书哦)
我的邮箱:
(2)(4)(4)(2)(2)(47)(11)(9)(1)(14)(7)(3)(4)(5)

我要回帖

更多关于 spring bean autowire 的文章

 

随机推荐