加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用SpringJDBC访问数据库

发布时间:2020-12-14 23:20:21 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 !-- 扫描com.sunsharing.dao包下所有标注@Repository的DAO组件 --context:component-scan base-package="com.sunsharing.springdemo.dao"/!--使用spri

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

<!-- 扫描com.sunsharing.dao包下所有标注@Repository的DAO组件 -->
<context:component-scan base-package="com.sunsharing.springdemo.dao"/>
<!--使用spring提供的PropertyPlaceholderConfigurer读取数据库配置信息.properties-->
<bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="classpath:jdbc.properties"/>
</bean>
<!--数据源配置-->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close"
    p:driverClassName="${jdbc.driverClassName}"
    p:url="${jdbc.url}"
    p:username="${jdbc.username}"
    p:password="${jdbc.password}"/>
<!--jdbcTemplate装配-->
<bean id="jdbcTemplate"
      class="org.springframework.jdbc.core.JdbcTemplate"
      p:dataSource-ref="dataSource"/>

package?com.sunsharing.springdemo.domain;
/**
?*?Created?by?nyp?on?2015/2/5.
?*/

public?class?User?{??
??//建立一个user对象,对应数据库中的各个属性,并给出set,get方法
????private?int?userId;
?
????private?String?userName;
??
????private?String?password;
?
????private?String?lastIp;?
???
???private?String?lastVisit;
????public?int?getUserId()?{
????????return?userId;
????}

????public?void?setUserId(int?userId)?{
????????this.userId?=?userId;
????}

????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;
????}

????public?String?getLastIp()?{
????????return?lastIp;
????}

????public?void?setLastIp(String?lastIp)?{
????????this.lastIp?=?lastIp;
????}

????public?String?getLastVisit()?{
????????return?lastVisit;
????}
????public?void?setLastVisit(String?lastVisit)?{
????????this.lastVisit?=?lastVisit;
????}

}
package?com.sunsharing.springdemo.dao;
import?com.sunsharing.springdemo.domain.User;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.jdbc.core.JdbcTemplate;
import?org.springframework.jdbc.core.RowCallbackHandler;
import?org.springframework.stereotype.Repository;
import?java.sql.ResultSet;
import?java.sql.SQLException;
import?java.util.List;

/**
?*?Created?by?nyp?on?2015/2/5.
?*/
//通过Repository?注入bean
@Repository
public?class?UserDao??{???
????//自动注入jdbcTemplate
????@Autowired
????private?JdbcTemplate?jdbcTemplate;??
???
????/**
?????*?使用jdbcTemplate查询用户
?????*?@param?userName?用户名查询条件
?????*?@return?用户名匹配的User对象
?????*/
?public?User?findUserByNameJdbc(final?String?userName){
????????????????????????????????????????????//为了使userName可以再内部类中使用,必须声明为final
?????String?sqlStr="SELECT?*?FROM?T_USER?where?USER_NAME=??";
?????final?User?user?=?new?User();
?????//通过匿名内部类定义回调函数?将结果集数据中的数据抽取到User对象中
?????jdbcTemplate.query(sqlStr,?new?Object[]{userName},?????????????new?RowCallbackHandler()?{
?????????????????@Override
?????????????????public?void?processRow(ResultSet?rs)?throws?SQLException?{
???????????????????user.setUserName(rs.getString("USER_NAME"));
???????????????????user.setLastVisit(rs.getString("LAST_VISIT"));
???????????????????user.setLastIp(rs.getString("LAST_IP"));
?????????????????}
?????????????}
?????);
??return??user;
?}
????/**
?????*?使用jdbcTemplate增加用户
?????*?@param?user?用户对象
?????*
?????*?*/
??????public?void?addUserJdbc(User?user){
??????????String?sqlStr="INSERT?INTO?t_user(user_name,password,last_visit,last_ip)"?+
??????????????????"VALUES(?,?,?)?";
??????????Object[]?args={user.getUserName(),user.getPassword(),user.getLastVisit(),user.getLastIp()};
??????????jdbcTemplate.update(sqlStr,args);
??????}
????/**
?????*?使用jdbcTemplate修改用户
?????*?@param?userId?用户ID
?????*?@param?user?用户
?????*?*/

??????public?void?updateUserJdbc(User?user,int?userId){
???????String?sqlStr="UPDATE?t_user?set?user_name=?,?password=?,?last_visit=?,?last_ip=??where?user_id=?";
???????Object[]?args={user.getUserName(),user.getLastIp(),userId};
???????????????jdbcTemplate.update(sqlStr,args);
??????}
????/**
?????*?使用jdbcTemplate删除用户
?????*?@param?userId?用户ID
?????*
?????*?*/
??????public?void?delUserJdbc(int?userId){
??????????String?sqlStr="DELETE?FROM?t_user?WHERE?user_id=?";
??????????jdbcTemplate.update(sqlStr,new?Object[]{userId});
??????}

}
package?com.sunsharing.springdemo.dao;
import?com.sunsharing.springdemo.domain.User;
import?com.sunsharing.component.utils.base.DateUtils;
import?org.junit.Test;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.junit.runner.RunWith;
import?org.springframework.test.context.ContextConfiguration;
import?java.util.Date;
import?java.util.Iterator;
import?java.util.List;

import?static?org.testng.Assert.*;
/**
?*?Created?by?nyp?on?2015/2/5.
?*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/viewspace-dao.xml"})
public?class?UserDaoTest{
????@Autowired
????private?UserDao?userDao;

??@Test
????public?void?addUserByJdbc(){
????????User?user=new?User();
????????user.setUserName("jdbcTest");
????????user.setPassword("123456");
????????user.setLastVisit(new?Date().toString());
????????user.setLastIp("1.1.1.1");
????????userDao.addUserJdbc(user);
????????assertEquals(user.getPassword(),"123456");
????}?
??@Test
????public?void?findUserByJdbc()?{
????????User?user?=?userDao.findUserByNameJdbc("jdbcTest");
????????System.out.println("username="+user.getUserName()+"?lastvisit="+user.getLastVisit());
????????assertNotNull(user);
????????assertEquals(user.getUserName(),"jdbcTest");
????}
?
?@Test
????public?void?updateUserByJdbc(){
????????User?user=new?User();
????????user.setUserName("jdbcTest1");
????????user.setPassword("1234561");
????????user.setLastVisit(new?Date().toString());
????????user.setLastIp("1.1.1.12");
????????userDao.updateUserJdbc(user,12);
????}
?@Test
????public??void?delUserByJdbc(){
????????userDao.delUserJdbc(3);
????}
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读