使用SpringJDBC访问数据库
发布时间:2020-05-24 21:03:24 所属栏目:Java 来源:互联网
导读:使用SpringJDBC访问数据库
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 <!-- 扫描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"/>
packagecom.sunsharing.springdemo.domain;
/**
*Createdbynypon2015/2/5.
*/
publicclassUser{
//建立一个user对象,对应数据库中的各个属性,并给出set,get方法
privateintuserId;
privateStringuserName;
privateStringpassword;
privateStringlastIp;
privateStringlastVisit;
publicintgetUserId(){
returnuserId;
}
publicvoidsetUserId(intuserId){
this.userId=userId;
}
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetLastIp(){
returnlastIp;
}
publicvoidsetLastIp(StringlastIp){
this.lastIp=lastIp;
}
publicStringgetLastVisit(){
returnlastVisit;
}
publicvoidsetLastVisit(StringlastVisit){
this.lastVisit=lastVisit;
}
}
packagecom.sunsharing.springdemo.dao;
importcom.sunsharing.springdemo.domain.User;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.jdbc.core.JdbcTemplate;
importorg.springframework.jdbc.core.RowCallbackHandler;
importorg.springframework.stereotype.Repository;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.List;
/**
*Createdbynypon2015/2/5.
*/
//通过Repository注入bean
@Repository
publicclassUserDao{
//自动注入jdbcTemplate
@Autowired
privateJdbcTemplatejdbcTemplate;
/**
*使用jdbcTemplate查询用户
*@paramuserName用户名查询条件
*@return用户名匹配的User对象
*/
publicUserfindUserByNameJdbc(finalStringuserName){
//为了使userName可以再内部类中使用,必须声明为final
StringsqlStr="SELECT*FROMT_USERwhereUSER_NAME=?";
finalUseruser=newUser();
//通过匿名内部类定义回调函数将结果集数据中的数据抽取到User对象中
jdbcTemplate.query(sqlStr,newObject[]{userName},newRowCallbackHandler(){
@Override
publicvoidprocessRow(ResultSetrs)throwsSQLException{
user.setUserName(rs.getString("USER_NAME"));
user.setLastVisit(rs.getString("LAST_VISIT"));
user.setLastIp(rs.getString("LAST_IP"));
}
}
);
returnuser;
}
/**
*使用jdbcTemplate增加用户
*@paramuser用户对象
*
**/
publicvoidaddUserJdbc(Useruser){
StringsqlStr="INSERTINTOt_user(user_name,password,last_visit,last_ip)"+
"VALUES(?,?,?)";
Object[]args={user.getUserName(),user.getPassword(),user.getLastVisit(),user.getLastIp()};
jdbcTemplate.update(sqlStr,args);
}
/**
*使用jdbcTemplate修改用户
*@paramuserId用户ID
*@paramuser用户
**/
publicvoidupdateUserJdbc(Useruser,intuserId){
StringsqlStr="UPDATEt_usersetuser_name=?,password=?,last_visit=?,last_ip=?whereuser_id=?";
Object[]args={user.getUserName(),user.getLastIp(),userId};
jdbcTemplate.update(sqlStr,args);
}
/**
*使用jdbcTemplate删除用户
*@paramuserId用户ID
*
**/
publicvoiddelUserJdbc(intuserId){
StringsqlStr="DELETEFROMt_userWHEREuser_id=?";
jdbcTemplate.update(sqlStr,newObject[]{userId});
}
}
packagecom.sunsharing.springdemo.dao;
importcom.sunsharing.springdemo.domain.User;
importcom.sunsharing.component.utils.base.DateUtils;
importorg.junit.Test;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.junit.runner.RunWith;
importorg.springframework.test.context.ContextConfiguration;
importjava.util.Date;
importjava.util.Iterator;
importjava.util.List;
importstaticorg.testng.Assert.*;
/**
*Createdbynypon2015/2/5.
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/viewspace-dao.xml"})
publicclassUserDaoTest{
@Autowired
privateUserDaouserDao;
@Test
publicvoidaddUserByJdbc(){
Useruser=newUser();
user.setUserName("jdbcTest");
user.setPassword("123456");
user.setLastVisit(newDate().toString());
user.setLastIp("1.1.1.1");
userDao.addUserJdbc(user);
assertEquals(user.getPassword(),"123456");
}
@Test
publicvoidfindUserByJdbc(){
Useruser=userDao.findUserByNameJdbc("jdbcTest");
System.out.println("username="+user.getUserName()+"lastvisit="+user.getLastVisit());
assertNotNull(user);
assertEquals(user.getUserName(),"jdbcTest");
}
@Test
publicvoidupdateUserByJdbc(){
Useruser=newUser();
user.setUserName("jdbcTest1");
user.setPassword("1234561");
user.setLastVisit(newDate().toString());
user.setLastIp("1.1.1.12");
userDao.updateUserJdbc(user,12);
}
@Test
publicvoiddelUserByJdbc(){
userDao.delUserJdbc(3);
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
