Spring boot 五 jdbcTemplate
上一節我們講了 spring-boot-jpa 框架
spring-boot-jpa:在原有 hibernate 框架的基礎上在做繼續包裝,簡化。
這節我們介紹 如何在 Spring boot 中使用模板技術。
這裡最簡單的 jdbcTemplate 使用:
1、在pom.xml 新增依賴包。
2、建立實體物件 例如 Person:
3、建立資料處理層 PersonDao.
4、建立業務邏輯層 PersonService。
5、建立對外訪問介面 PersonController。
備註:application.properties配置資訊檢視 上一篇文章
1、首先新增依賴包: 這裡使用 mysql
只需要新增 sprint-boot-jpa 和 對於的資料庫驅動包。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2、建立實體物件 Person:
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
private String orderItem;
... ... set get... ...
}
3、建立資料處理層 PersonDao.
@Repository //這是一個持久化操作
public class PersonDao {
@Resource
private JdbcTemplate jdbcTemplate;
// 增加
public int savePerson(Person p){
String sql = "INSERT INTO Person(name, order_item) VALUES(?,?)";
return jdbcTemplate.update(sql, new Object[]{p.getName(),p.getOrderItem()});
}
//批量增加
public void BatchInsertPerson(List<Person> personList) {
String sql = "INSERT INTO Person(name, order_item) VALUES(?,?)";
List<Object[]> batchArgs = new ArrayList<>();
for(int i=0; i<personList.size(); i++){
batchArgs.add(new Object[]{personList.get(i).getName(),personList.get(i).getOrderItem()});
}
jdbcTemplate.batchUpdate(sql, batchArgs);
}
//改
public int updatePersonById(int id,Person p) {
String sql = "UPDATE person SET name = ? , order_item=? WHERE id = ?";
return jdbcTemplate.update(sql,p.getName(),p.getOrderItem(), id);
}
//刪除
public int deletePersonById(int id) {
String sql = "delete from person where id = ?";
return jdbcTemplate.update(sql, id);
}
//查
public Person getPersonById(int id) {
String sql = "select * from person where id=?";
RowMapper<Person> rowMap = new BeanPropertyRowMapper<Person>(Person.class);
Person p = jdbcTemplate.queryForObject(sql,new Object[]{id},rowMap);
return p;
}
//查所有
public List<Person> getAll() {
String sql = "select * from person";
RowMapper<Person> rowMap = new BeanPropertyRowMapper<Person>(Person.class);
return jdbcTemplate.query(sql, rowMap);
}
}
4、建立 服務層 PersonService
@Service
public class PersonService {
@Resource
private PersonDao mPersonDao;
//查詢所有
public List<Person> getPersonList(){
return mPersonDao.getAll();
}
//查詢
public Person getPersonById(int id) {
return mPersonDao.getPersonById(id);
}
//儲存
public int insetPerson(Person p) {
return mPersonDao.savePerson(p);
}
//更新
public int updatePerson(int id,Person p){
return mPersonDao.updatePersonById(id,p);
}
//刪除
public int deletePersonById(int id) {
return mPersonDao.deletePersonById(id);
}
}
5、建立對外訪問介面 TemplatePersonController 。
@RestController
@RequestMapping("/template")
public class TemplatePersonController {
@Resource
public PersonService mPersonService;
@RequestMapping("/getAll")
public List<Person> getPersons(String name){
return mPersonService.getPersonList();
}
@RequestMapping("/save")
public int save(String name,String orderItem){
return mPersonService.insetPerson(new Person(name,orderItem));
}
@RequestMapping("/delete")
public int deleteById(int id){
return mPersonService.deletePersonById(id);
}
@RequestMapping("/update")
public int update(int id,String name,String orderItem){
return mPersonService.updatePerson(id,new Person(name,orderItem));
}
@RequestMapping("/getPersonById")
public Person getPersonByName(int id){
return mPersonService.getPersonById(id);
}
}
測試:
http://127.0.0.1:8080/template/save?name=zhangsan&orderItem=123
http://127.0.0.1:8080/template/update?id=1&name=lishi&orderItem=321
http://127.0.0.1:8080/template/getAll
http://127.0.0.1:8080/template/update?id=1&name=&orderItem=22222
相關文章
- Spring Boot 2.x基礎教程:使用JdbcTemplate訪Spring BootJDBC
- spring-boot-route(七)整合jdbcTemplate運算元據庫SpringbootJDBC
- 說說如何在 Spring Boot 中使用 JdbcTemplate 讀寫資料Spring BootJDBC
- Spring框架|整合JdbcTemplateSpring框架JDBC
- Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 實踐Spring BootDockerNginxMySql
- Spring boot學習(五)Spring boot整合Mybatis Generator以及PageHelperSpring BootMyBatis
- spring boot(五)非同步呼叫Spring Boot非同步
- #Spring JdbcTemplate入門@FDDLCSpringJDBC
- Spring 的 JdbcTemplate 和 JdbcDaoSupportSpringJDBC
- Spring Boot (五)Spring Data JPA 操作 MySQL 8Spring BootMySql
- Spring Boot的五種部署方式Spring Boot
- Spring Boot 2.x基礎教程:使用JdbcTemplate訪問MySQL資料庫Spring BootJDBCMySql資料庫
- Spring JdbcTemplate之使用詳解SpringJDBC
- Spring 系列之jdbcTemplate的使用SpringJDBC
- (第五講)自定義Spring Boot StarterSpring Boot
- 五、Spring Boot整合Spring Security之認證流程2Spring Boot
- spring下 -spring整體架構,JdbcTemplate筆記Spring架構JDBC筆記
- Spring04——Spring操作JdbcTemplate進行JDBC操作SpringJDBC
- Spring Boot + Mybatis + Spring MVC環境配置(五):templates模板使用Spring BootMyBatisMVC
- Spring Boot入門系列(十四)使用JdbcTemplate運算元據庫,配置多資料來源!Spring BootJDBC
- spring-boot-route(五)整合Swagger生成介面文件SpringbootSwagger
- Spring Boot:Spring Boot配置SwaggerSpring BootSwagger
- Spring Boot:Spring Boot配置MybatisSpring BootMyBatis
- Spring Boot中五個設計模式最佳實踐Spring Boot設計模式
- 備忘錄五:Spring Boot + RabbitMQ 分散式事務Spring BootMQ分散式
- Spring Boot第五彈,WEB開發初瞭解~Spring BootWeb
- 極速開發之Spring Boot五種熱部署方式Spring Boot熱部署
- Spring Boot 入門(五):整合 AOP 進行日誌管理Spring Boot
- 實戰Spring Boot 2.0系列(五) - Listener, Servlet, Filter和InterceptorSpring BootServletFilter
- spring、spring MVC、spring BootMVCSpring Boot
- Spring Boot系列十九 Spring boot整合 swaggerSpring BootSwagger
- Spring Boot 參考指南(Spring Boot文件)Spring Boot
- Spring Boot 2.0(八):Spring Boot 整合 MemcachedSpring Boot
- Spring Boot —— Spring SecuritySpring Boot
- Spring BootSpring Boot
- JdbcTemplateJDBC
- Jeecg-Boot Spring BootSpring Boot
- Spring Boot學習(一)——Spring Boot介紹Spring Boot
- Spring Boot系列(一):Spring Boot快速開始Spring Boot