久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Spring怎樣進行數據庫編程

147次閱讀
沒有評論

共計 6428 個字符,預計需要花費 17 分鐘才能閱讀完成。

本篇文章給大家分享的是有關 Spring 怎樣進行數據庫編程,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。

  前言

先入門,把核心理解后再回過頭來看這些我覺得效果更好,不知道說的對不對,要是理解不當,還望指教。此篇為 Spring 的數據庫編程,主要講 jdbcTemplate,讓初學者直接上手。

數據庫切入

數據庫編程是互聯網編程的基礎,Spring 框架為開發者提供了 JDBC 模板模式,即 jdbcTemplate,它可以簡化許多代碼,需要提醒的是 jdbcTemplate 在實際應用中并不常用,但我覺得對新手來說蒼蠅再小也是肉,要想往前走,就得把這些小肉先吃了。

Spring JDBC 配置

使用 Spring JDBC 操作數據庫,需要對其進行配置,配置如下

!-- 配置 spring-jdbcTemplate--   !-- 配置數據源 --   bean id= dataSource   "MySQL" target="_blank" >MySQL 數據庫驅動 --   property name= driverClassName  value= com.mysql.jdbc.Driver /property   !-- 連接數據庫的 URL--   property name= url  value= jdbc:mysql://localhost:3306/bbb?useUnicode=true amp;characterEncoding=UTF-8 /property   !-- 連接數據庫的用戶名 --   property name= username  value= root /property   !-- 連接數據庫的密碼 --   property name= password  value= root /property   /bean   !-- 配置 JDBC 模板 --   bean id= jdbcTemplate   >

配置 JDBC 模板時需要將 dataSource 注入到 jdbcTemplate, 而在數據訪問層 (Dao 類) 需要使用 jdbcTemplate 時也需要將 jdbc  Template 注入到對應的 Bean 中,我在這演示用最簡單的注解注入

@Repository(userDao) public class UserDaoImpl implements UserDao { @Autowired // 使用配置文件中的 JDBC 模板  private JdbcTemplate jdbcTemplate; }

Spring Jdbc Template 的常用方法

在上面我們獲取了 JDBC 模板,下面我來說如何使用它。首先需要了解 JdbcTemplate 常用的方法,該類的常用方法是 update 和 query.

1、public int update(String sql,Object args[])

該方法可以對數據表進行增加、修改、刪除等操作。使用 args[]設置 SQL 語句中的參數,并返回更新的行數。

示例如下:

public void add() { String insertSql =  insert into user values(null,?,?)  Object parem1[] = { 成功 , 123456  jdbcTemplate.update(insertSql,parem1); System.out.println(UserDao 中的添加功能實現了  }

2、public List query(String sql,RowMapper rowMapper,Object args[])

該方法可以對數據表進行查詢操作,rowMapper 將結果集映射到用戶自定義的類中(前提是自定義類中的屬性要與數據表的字段對應)。

示例如下:

public void query() { String selectSql =  select * from user  RowMapper User  rowMapper = new BeanPropertyRowMapper User (User.class); List User  list = jdbcTemplate.query(selectSql,rowMapper,null); System.out.println(UserDao 中的查詢功能實現了  }

案例輔助

Pom.xml

dependencies   dependency   groupId junit /groupId   artifactId junit /artifactId   version 4.11 /version   scope test /scope   /dependency   dependency   groupId javax.servlet /groupId   artifactId javax.servlet-api /artifactId   version 3.1.0 /version   /dependency   dependency   groupId javax.servlet /groupId   artifactId jstl /artifactId   version 1.2 /version   /dependency   dependency   groupId mysql /groupId   artifactId mysql-connector-java /artifactId   version 5.1.38 /version   /dependency   !--spring 核心依賴 --   dependency   groupId org.springframework /groupId   artifactId spring-core /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-beans /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-context /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-aop /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-jdbc /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-web /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-webmvc /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-expression /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-tx /artifactId   version 5.1.5.RELEASE /version   /dependency   !-- 日志相關 --   dependency   groupId commons-logging /groupId   artifactId commons-logging /artifactId   version 1.2 /version   /dependency   /dependencies

spring-config.xml

?xml version= 1.0  encoding= UTF-8 ?   beans xmlns= http://www.springframework.org/schema/beans  xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance  xmlns:context= http://www.springframework.org/schema/context  xmlns:tx= http://www.springframework.org/schema/tx  xmlns:mvc= http://www.springframework.org/schema/mvc  xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd    !-- 配置注解要掃描的包 --   context:component-scan base-package= com.my /context:component-scan   mvc:annotation-driven /mvc:annotation-driven   !-- 將指定類 TestDaoImpl 配置給 Spring, 讓 Spring 創建其實例 --   bean id= testDIDao   >

User

package com.my.pojo; public class User { private int id; private String username; private String password; public User() { } public User(int id, String username, String password) { this.id = id; this.username = username; this.password = password; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return  User{  +  id=  + id +  , username=  + username +   +  , password=  + password +   + }  } }

UserDao

package com.my.dao; public interface UserDao { public void add(); public void delete(); public void update(); public void query(); }

UserDaoImpl

@Override public void update() { String updateSql =  update user set username=? , password=? where id =?  Object parem3[] = {修改 , 654321 ,3}; jdbcTemplate.update(updateSql,parem3); System.out.println(UserDao 中的修改功能實現了  } @Override public void query() { String selectSql =  select * from user  RowMapper User  rowMapper = new BeanPropertyRowMapper User (User.class); List User  list = jdbcTemplate.query(selectSql,rowMapper,null); System.out.println(UserDao 中的查詢功能實現了  for (User user : list){ System.out.println(user); } } }

測試 Test3

package com.my.test; import com.my.dao.UserDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test3 { @Autowired private UserDao userDao; public static void main(String[] args) { ApplicationContext appCon = new ClassPathXmlApplicationContext( spring-config.xml  // 從容器中獲取目標對象  UserDao userDao = (UserDao) appCon.getBean(userDao  //userDao.add(); userDao.delete(); userDao.update(); userDao.query(); } }

測試結果

以上就是 Spring 怎樣進行數據庫編程,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-17發表,共計6428字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 利辛县| 弋阳县| 黄骅市| 乐山市| 琼海市| 梅河口市| 耿马| 吴堡县| 黑水县| 永年县| 油尖旺区| 金湖县| 乾安县| 喀什市| 太湖县| 易门县| 新巴尔虎右旗| 五台县| 姜堰市| 英山县| 金乡县| 麟游县| 凌源市| 闻喜县| 图木舒克市| 阿拉善左旗| 桦川县| 尖扎县| 阜康市| 西峡县| 渑池县| 曲沃县| 湟源县| 新宁县| 米泉市| 湖州市| 扶绥县| 双城市| 淮阳县| 溆浦县| 邻水|