博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot with MySQL
阅读量:6974 次
发布时间:2019-06-27

本文共 7708 字,大约阅读时间需要 25 分钟。

hot3.png

Spring boot with MySQL 实例参考

原创 2016-08-08 景峯 Netkiller

节选择《Netkiller Java 手札》· Spring 框架

 

9.7. Spring boot with MySQL

9.7.1. Maven

pom.xml

4.0.0
netkiller.cn
api.netkiller.cn
0.0.1-SNAPSHOT
jar
api.netkiller.cn
http://maven.apache.org
UTF-8
org.springframework.boot
spring-boot-starter-parent
1.3.0.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-redis
org.springframework.boot
spring-boot-starter-data-mongodb
org.springframework.boot
spring-boot-starter-amqp
org.springframework.boot
spring-boot-devtools
org.springframework.boot
spring-boot-starter-test
test
org.springframework.data
spring-data-mongodb
mysql
mysql-connector-java
com.google.code.gson
gson
compile
junit
junit
test
src
org.springframework.boot
spring-boot-maven-plugin
maven-compiler-plugin
3.3
maven-war-plugin
2.6
WebContent
false

9.7.2. Resource

src/main/resources/application.properties

spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://192.168.6.1:3306/testspring.datasource.username=rootspring.datasource.password=passwordspring.jpa.database=MYSQLspring.jpa.show-sql=truespring.jpa.hibernate.ddl-auto=update#spring.jpa.hibernate.ddl-auto=create-drop

9.7.3. Application

package api;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.properties.EnableConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import api.ApplicationConfiguration;@SpringBootApplication@EnableConfigurationProperties(ApplicationConfiguration.class)@EnableAutoConfiguration@ComponentScan({ "api.web", "api.rest","api.service" })@EnableMongoRepositoriespublic class Application {	public static void main(String[] args) {		SpringApplication.run(Application.class, args);	}}

9.7.4. JdbcTemplate

package api.web;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import api.domain.City;import api.domain.Article;import api.ApplicationConfiguration;import api.repository.CityRepository;import api.repository.ArticleRepository;import api.service.TestService;@Controllerpublic class IndexController {	@Autowired	private CityRepository repository;	@Autowired	private TestService testService;	@Autowired	private ApplicationConfiguration propertie;	@Autowired	private JdbcTemplate jdbcTemplate;	@RequestMapping(value = "/article")	public @ResponseBody String dailyStats(@RequestParam Integer id) {		String query = "SELECT id, title, content from article where id = " + id;		return jdbcTemplate.queryForObject(query, (resultSet, i) -> {			System.out.println(resultSet.getLong(1)+","+ resultSet.getString(2)+","+ resultSet.getString(3));			return (resultSet.getLong(1)+","+ resultSet.getString(2)+","+ resultSet.getString(3));		});	}}

9.7.5. CrudRepository

ArticleRepository

package api.repository;import org.springframework.data.domain.Page;import org.springframework.data.domain.Pageable;import org.springframework.data.repository.CrudRepository;import org.springframework.stereotype.Repository;import api.domain.Article;@Repositorypublic interface ArticleRepository extends CrudRepository
{ Page
findAll(Pageable pageable);}

Article.java

package api.domain;import java.io.Serializable;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Table;@Entity@Table(name = "article")public class Article implements Serializable {	private static final long serialVersionUID = 7998903421265538801L;		@Id	@GeneratedValue(strategy=GenerationType.IDENTITY)	@Column(name = "id", unique=true, nullable=false, insertable=true, updatable = false)	private Long id;	private String title;	private String content;	public Article(){			}	public Article(String title, String content) {		this.title = title;		this.content = content;	}	public Long getId() {		return id;	}		public void setId(long id) {		this.id = id;	}	public String getTitle() {		return title;	}	public void setTitle(String title) {		this.title = title;	}	public String getContent() {		return content;	}	public void setContent(String content) {		this.content = content;	}	@Override	public String toString() {		return "Article [id=" + id + ", title=" + title + ", content=" + content + "]";	}}
package api.web;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import api.domain.City;import api.domain.Article;import api.ApplicationConfiguration;import api.repository.CityRepository;import api.repository.ArticleRepository;import api.service.TestService;@Controllerpublic class IndexController {	@Autowired	private CityRepository repository;	@Autowired	private TestService testService;	@Autowired	private ApplicationConfiguration propertie;	@Autowired	private ArticleRepository articleRepository;	@RequestMapping("/save")	@ResponseBody	public String save() {		articleRepository.save(new Article("Neo", "Chen"));		return "OK";	}		@RequestMapping("/mysql")	@ResponseBody	public String mysql() {				for (Article article : articleRepository.findAll()) {			System.out.println(article);		}		return "OK";	}}

 

延伸阅读

 

长按下面二维码,关注我的公众号,每天推推送原创技术文章。

转载于:https://my.oschina.net/neochen/blog/729350

你可能感兴趣的文章
“一票易得” 微微网络电话五一抢票进行时
查看>>
MySQL使用可重复读作为默认隔离级别的原因
查看>>
【工具使用系列】关于 MATLAB 径向基神经网络,你需要知道的事
查看>>
让我们一起Go(十一)
查看>>
关于USB数据存储这一块的技术问题
查看>>
创建第一个Azure Liunx虚拟机
查看>>
unstrict模式
查看>>
提高red5性能几个配置。
查看>>
皕杰报表之表单设计/搜索
查看>>
Custome Message in MVC3.0
查看>>
Cisco 单臂路由配置
查看>>
数据库缓存管理器块替换
查看>>
dedecms个人中心调用数据库数据问题
查看>>
Confluence 6 Windows 中以服务方式自动重启修改运行服务的用户
查看>>
kettle使用笔记(ETL篇)
查看>>
What's new in Red Hat Enterprise Linux 6.2
查看>>
MDaemonV15 版本新特性介绍
查看>>
我的友情链接
查看>>
typescript中的泛型
查看>>
安装Jenkins
查看>>