栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java开发之Spring连接数据库方法实例分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java开发之Spring连接数据库方法实例分析

本文实例讲述了Java开发之Spring连接数据库方法。分享给大家供大家参考,具体如下:
接口:

package cn.com.service; 
import java.util.List; 
import cn.com.bean.PersonBean; 
public interface PersonService { 
 //保存 
 public void save(PersonBean person); 
 //更新 
 public void update(PersonBean person); 
 //获取person 
 public PersonBean getPerson(int id); 
 public List getPersonBean(); 
 //删除记录 
 public void delete(int personid); 
}

Person Bean类:

package cn.com.bean; 
public class PersonBean { 
 private int id; 
 private String name; 
 public PersonBean(String name) { 
  this.name=name; 
 } 
 public int getId() { 
  return id; 
 } 
 public void setId(int id) { 
  this.id = id; 
 } 
 public String getName() { 
  return name; 
 } 
 public void setName(String name) { 
  this.name = name; 
 } 
}

接口实现:

package cn.com.service.impl; 
import java.util.List; 
import javax.sql.DataSource; 
import org.springframework.jdbc.core.JdbcTemplate; 
import cn.com.bean.PersonBean; 
import cn.com.service.PersonService; 
public class PersonServiceImpl implements PersonService { 
 private JdbcTemplate jdbcTemplate; 
 public void setDataSource(DataSource dataSource) { 
  this.jdbcTemplate = new JdbcTemplate(dataSource); 
 } 
 @Override 
 public void save(PersonBean person) { 
  // TODO Auto-generated method stub 
  jdbcTemplate.update("insert into person(name) values(?)", new Object[]{person.getName()}, 
    new int[]{java.sql.Types.VARCHAR}); 
 } 
 @Override 
 public void update(PersonBean person) { 
  // TODO Auto-generated method stub 
  jdbcTemplate.update("update person set name=? where id=?", new Object[]{person.getName(),person.getId()}, 
    new int[]{java.sql.Types.VARCHAR,java.sql.Types.INTEGER}); 
 } 
 @Override 
 public PersonBean getPerson(int id) { 
  // TODO Auto-generated method stub 
  return (PersonBean)jdbcTemplate.queryForObject("select * from person where id=?", new Object[]{id}, 
    new int[]{java.sql.Types.INTEGER},new PersonRowMapper() ); 
 } 
 @SuppressWarnings("unchecked") 
 @Override 
 public List getPersonBean() { 
  // TODO Auto-generated method stub 
  return (List)jdbcTemplate.query("select * from person", 
    new PersonRowMapper() ); 
 } 
 @Override 
 public void delete(int personid) { 
  // TODO Auto-generated method stub 
  jdbcTemplate.update("delete from person where id=?", new Object[]{personid},
    new int[]{java.sql.Types.INTEGER}); 
 } 
}

RowMapper:

package cn.com.service.impl; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import org.springframework.jdbc.core.RowMapper; 
import cn.com.bean.PersonBean; 
public class PersonRowMapper implements RowMapper { 
 @Override 
 public Object mapRow(ResultSet rs, int index) throws SQLException { 
  // TODO Auto-generated method stub 
  PersonBean person =new PersonBean(rs.getString("name")); 
  person.setId(rs.getInt("id")); 
  return person; 
 } 
}

beans.xml配置

 
   
     
     
     
     
     
     
      
      
      
      
      
      
      
      
      
     
     
     
     
     
     
     
     
 

测试类:

package Junit.test; 
import static org.junit.Assert.*; 
import org.junit.BeforeClass; 
import org.junit.Test; 
import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import cn.com.bean.PersonBean; 
import cn.com.service.PersonService; 
public class PersonTest2 { 
 private static PersonService personService; 
 @BeforeClass 
 public static void setUpBeforeClass() throws Exception { 
 ApplicationContext act=new ClassPathXmlApplicationContext("beans.xml"); 
 personService=(PersonService) act.getBean("personService"); 
 } 
 @Test 
 public void save() { 
 personService.save(new PersonBean("wyy")); 
 } 
 @Test 
 public void update() { 
 PersonBean person=personService.getPerson(1); 
 person.setName("wy"); 
 personService.update(person); 
 } 
 @Test 
 public void getPerson() { 
 PersonBean person=personService.getPerson(1); 
 System.out.println(person.getName()); 
 } 
 @Test 
 public void delete() { 
 personService.delete(1); 
 } 
}

数据库:

Create Table 
CREATE TABLE `person` ( 
 `id` int(11) NOT NULL auto_increment, 
 `name` varchar(10) NOT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

希望本文所述对大家Java程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/151106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号