编程开发 购物 网址 游戏 小说 歌词 地图 快照 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 开发 租车 短信 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
移动开发 架构设计 编程语言 互联网 开发经验 Web前端 开发总结
开发杂谈 系统运维 研发管理 数据库 云 计 算 Java开发
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
  编程开发知识库 -> 架构设计 -> Spring Boot干货——(五)JdbcTemplates访问数据库 -> 正文阅读
 

[架构设计]Spring Boot干货——(五)JdbcTemplates访问数据库[第1页]

需要加入的依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
<!--mysql连接-->
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.29</version>
        </dependency>

项目结构图

application.properties文件

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = XXXX
spring.datasource.driver-class-name = com.mysql.jdbc.Driver

Bean(domain)

package com.gwd.domain;

public class User {
    private Integer id;

    private String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }
}

Dao

package com.gwd.dao;

import com.gwd.domain.User;

public interface IUserDao {
	User getUserById(Integer id);
}

DaoImpl

package com.gwd.dao.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import com.gwd.dao.IUserDao;
import com.gwd.domain.User;

@Repository
public class IUserDaoImpl implements IUserDao{
	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	@Override
	public User getUserById(Integer id) {
		// TODO Auto-generated method stub
		List<User> list = jdbcTemplate.query("select * from stu where id = ?", new Object[]{id},new BeanPropertyRowMapper<User>(User.class));
		
		if(list.size()>0) {
			return list.get(0);
		}
		return null;
	}

}

Service

package com.gwd.service;

import com.gwd.domain.User;

public interface StuService {
	public User getById(int id);
}

ServiceImpl

package com.gwd.service.impl;

import java.io.Serializable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.gwd.dao.IUserDao;
import com.gwd.domain.User;
import com.gwd.service.StuService;
@Service
public class StuServiceImpl implements StuService,Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Autowired
	private IUserDao iUserDao;
	@Override
	public User getById(int id) {
		// TODO Auto-generated method stub
		User user = iUserDao.getUserById(id);
		return user;
	}

}

Controller

package com.gwd.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.gwd.domain.User;
import com.gwd.service.StuService;

@RestController
public class StuController {
	@Autowired
	private StuService stuService;
	
	@RequestMapping("/index")
	@ResponseBody
	public String index() {
		User stu = stuService.getById(1);
		return stu.getName();
	}
}

运行类(数据源要注意)

package com.gwd;
import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.core.env.Environment;

import com.alibaba.druid.pool.DruidDataSource;

@SpringBootApplication
public class SpringBootTestApplication {
	public static void main(String[] args) {
		SpringApplication.run(SpringBootTestApplication.class, args);
	}

	@Autowired
	private Environment env;

	//destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用.
	@Bean(destroyMethod =  "close")
	public DataSource dataSource() {
		DruidDataSource dataSource = new DruidDataSource();
		dataSource.setUrl(env.getProperty("spring.datasource.url"));
		dataSource.setUsername(env.getProperty("spring.datasource.username"));//用户名
		dataSource.setPassword(env.getProperty("spring.datasource.password"));//密码
		dataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
		dataSource.setInitialSize(2);//初始化时建立物理连接的个数
		dataSource.setMaxActive(20);//最大连接池数量
		dataSource.setMinIdle(0);//最小连接池数量
		dataSource.setMaxWait(60000);//获取连接时最大等待时间,单位毫秒。
		dataSource.setValidationQuery("SELECT 1");//用来检测连接是否有效的sql
		dataSource.setTestOnBorrow(false);//申请连接时执行validationQuery检测连接是否有效
		dataSource.setTestWhileIdle(true);//建议配置为true,不影响性能,并且保证安全性。
		dataSource.setPoolPreparedStatements(false);//是否缓存preparedStatement,也就是PSCache
		return dataSource;
	}
}


JdbcTemplate文档:JdbcTemplate API
阅读全文
版权声明:本文为博主原创文章,未经博主允许不得转载。
本文已收录于以下专栏:

发表评论
HTML/XML objective-c Delphi Ruby PHP C# C++ JavaScript Visual Basic Python Java CSS SQL 其它
相关文章推荐
SpringBoot用JdbcTemplates访问Mysql
本文介绍springboot通过jdbc访问关系型MySQL,通过spring的JdbcTemplate去访问。 准备工作 jdk 1.8maven 3.0ideamysql 初始化mysql: -...
qq_36330643 2017-08-04 13:46 62 SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql
本文介绍springboot通过jdbc访问关系型mysql,通过spring的JdbcTemplate去访问。
forezp 2017-04-22 22:31 13599 Spring Boot干货:常用属性汇总
可以在application.properties/application.yml文件中或作为命令行开关指定各种属性。这里提供了常用的Spring Boot属性列表,以及对使用它们的底层类的引用。注意...
qq_28089993 2017-08-08 10:30 129

Spring boot+Atomikos+JTA+Hibernate+MySQL实现分布式事务+多数据源(可运行)
2017-09-12 09:21 80KB 下载

spring-boot+mysql的演示zip代码
2017-09-05 10:03 22KB 下载
微服务:Spring Boot第三篇——数据访问Spring Data JPA
insert into user (id, username, name, age, balance) values (1, 'account1', '张三', 20, 100.00); insert...
roll_jj 2017-07-31 09:10 127

spring boot maven 连接mysql实现增删改查
2015-12-02 18:21 17KB 下载

spring-boot,mysql,mybatis Java项目
2017-08-01 13:24 84KB 下载
spring-boot研究一:springboot初探,mysql+jdbc的一个示例
spring-boot一个小例子,数据库用mysql,orm采用jdbc
zjj2006 2016-08-15 18:31 2428 Spring boot和Mybatis整合+Mysql+jsp页面跳转问题(借助FreeMarker)
本篇文章,介绍springboot+mybatis+mysql+freemarker+jsp应用的一个小demo,主要是整合mybatis部分。 笔者刚研究springboot,刚刚跑通的例子,出来分...
zhangyunfeixyz 2017-07-07 14:15 1090
gwd1154978352 +关注
原创 98 粉丝 6 喜欢 0 码云  
他的最新文章 更多文章
Spring Boot干货——(番外篇)jar包的部署及运行 Spring Boot干货——(四)日志配置及分析 Spring Boot干货——(三)静态资源与拦截器 Spring Boot干货——(二)原理解析
在线课程

【免费】搜狗机器翻译技术分享
讲师:

深度学习在推荐领域的应用和实践
讲师:吴岸城
热门文章 JNA的使用
2101
解决:maven项目无法引入js,css的问题
1585
解决:Failed to convert value of type 'java.lang.String' to required type 'java.util.Date';
1543
解决:org.springframework.security.access.AccessDeniedException: Access is denied
1030
解决:由于目标计算机积极拒绝 无法连接
866
0
  架构设计 最新文章
实习记录5 再看fs框架
通过webservice发布静态页面
Spring AOP 详解
58到家MQ如何快速实现流量削峰填谷
Android应用开发结构分析
究竟啥才是互联网架构“高可用”
[HID]Spec简读
Atitit 硬件 软件 的开源工作
ofbiz连接mysql并创建独立数据库
【59】Quartz+Spring框架详解
上一篇文章      下一篇文章      查看所有文章
加:2017-10-29 21:51:18  更:2017-10-29 21:55:13 
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年7日历
2018-7-19 0:19:20
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程开发知识库