springJDBC中NamedParameterJdbcTemplate和JdbcTempl

public class CopyOfStudentDaoImpl implements StudentDao {

private JdbcTemplate jdbcTemplate;
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;

public void setDataSource(DataSource dataSource) {
System.out.println(dataSource);
jdbcTemplate = new JdbcTemplate(dataSource);
namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
System.out.println(namedParameterJdbcTemplate);
}

public Cource StudentbyId(String id) {
String sql = "select Tstudent.studentid,Tstudent.username,Tstudent.password,Tstudent.address,course.studentid,course.courseid,course.cName from course join  Tstudent on course.studentid=Tstudent.studentid and course.studentid = ? ";
Cource cource=jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Cource>(Cource.class), id);
return cource;
}

public int addStudent(Student student) {
String sql = "insert into Tstudent (username , password , address ,time) values ( ? , ? , ? , ?)";
return jdbcTemplate.update(sql, new BeanPropertyRowMapper<Student>(Student.class));
}

public int deleteStudent(String id) {
String sql = "delete from Tstudent where studentid = ? ";
return jdbcTemplate.update(sql, id);
}

public List<Student> queryStudent() {
String sql = "select * from Tstudent";
List<Student> list=jdbcTemplate.query(sql, new BeanPropertyRowMapper<Student>(Student.class));
return list;
}

public int updateStudent(Student student) {
String sql = "update Tstudent set username = ? , password = ? , address = ? where studentid = ? ";
return jdbcTemplate.update(sql, new BeanPropertyRowMapper<Student>(Student.class));
}

public int count() {
String sql = "select count(*) from Tstudent";
return jdbcTemplate.queryForInt(sql);
}
public class StudentDaoImpl implements StudentDao {

private JdbcTemplate jdbcTemplate;
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;

public void setDataSource(DataSource dataSource) {
jdbcTemplate = new JdbcTemplate(dataSource);
namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
}

public Cource StudentbyId(String id) {
String sql = "select c.studentid ,c.cName ,c.courseid ,t.username,t.password from course as c join "
+ " Tstudent as t on c.studentid = t.studentid and c.studentid= ? ";
return jdbcTemplate.queryForObject(sql,
new BeanPropertyRowMapper<Cource>(Cource.class), id);
}

public int addStudent( final Student student) {
int result = 0;
final String sql = "insert into Tstudent (username , password , address , time) values ( ? , ? , ? , ?)";
KeyHolder holder = new GeneratedKeyHolder();
result = namedParameterJdbcTemplate.update(sql,
new BeanPropertySqlParameterSource(student), holder);
System.out.println(holder.getKey().intValue());
return result;
}

public int deleteStudent(String id) {
int result = 0;
String sql = "delete from Tstudent where studentid =:id ";
Map<String, String> map = new HashMap<String, String>();
map.put("id", id);
result = namedParameterJdbcTemplate.update(sql, map);
return result;
}

public List<Student> queryStudent() {
String sql = "select * from Tstudent";
RowMapper<Student> mapper = new BeanPropertyRowMapper<Student>(
Student.class);
List<Student> list = jdbcTemplate.query(sql, mapper);
return list;
}

public int updateStudent(Student student) {
int result = 0;
String sql = "update Tstudent set username =:username , password =:password , address =:address where studentid =:studentid";
result = namedParameterJdbcTemplate.update(sql,new BeanPropertySqlParameterSource(student));
return result;
}

public int count() {
String sql = "select count(*) from Tstudent";
return namedParameterJdbcTemplate.getJdbcOperations().queryForInt(sql);
}
}

更多相關文章
  • SpringJDBC中使用c3p0配置數據源:    1.applicationContext.xml 文件:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w ...
  • SELECT * FROM ARTICLE WHERE TITLE LIKE '%' || :title || '%'
  • 在Spring中使用JDBC      在我們傳統的JDBC中,操作數據庫會有大量的異常處理語句和手動關閉資源語句,這使得我們的如果只是插入一條數據,就會産生大量的catch塊,這些都是我們寫的要嘔吐的語句.在Spring中,我們使用模板和回調,能夠很好的解決這個問題,Spring模板處理數據訪問固 ...
  • Maven 構件工程的屬性文件pom.xml文件(實踐用):<project xmlns="http://maven.apache.org/POM/4.0.0"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta ...
  • Spring框架JdbcTemplate類中查詢方法介紹
    本文使用Spring2.5.6.SEC02和JDK1.4作爲講解環境.  Spring框架中org.springframework.jdbc.core包提供了JDBC模板類,其中JdbcTemplate是core包的核心類,其他模板類都是基于它封裝完成的. Spring除了提供JdbcTemplat ...
  • SpringMVC3 + SpringJDBC整合
     SpringMVC +Spring+ SpringJDBC整合實例.文件結構: 整合大致如下: 1)web.xml的配置:   <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xs ...
  • Spring框架筆記二十五NamedParameterJdbcTemplate與具名參數
    在經典的 JDBC 用法中, SQL 參數是用占位符 ? 表示,並且受到位置的限制. 定位參數的問題在于, 一旦參數的順序發生變化, 就必須改變參數綁定. 在 Spring JDBC 框架中, 綁定 SQL 參數的另一種選擇是使用具名參數(named parameter). 那麽什麽是具名參數?具名 ...
  • mybatis學習教程中級十一mybatis和spring框架整合前奏篇
    1.引言我們前面對mybatis的基礎以及中級知識查詢做了初步了解,比較它只是一個ORM框架.雖然獨當一面,但是不能構造我們完整系統.接下來,我們講講他與Spring整合.以及順帶講解一下Spring MVC.2.Mybatis與Spring整合前奏2.0 spring到底做了什麽.1.讓sprin ...
一周排行
  • UIKit中包含了UIGestureRecognizer類,用于檢測發生在設備中的手勢.UIGestureRecognizer是一個抽象類,定義了所有手勢的基本行爲,它有下面一些子類用于處理具體的手勢:     1. ...
  • 近期閑的x疼,于是折騰環境,更新apache2.2到2.4 打開日志: C:\webserver\Apache24\logs\error.log,可以看到很多錯誤,其中有這樣一條: [Fri Nov 16 3 ...
  • csrf跨站請求僞造攻擊解析
    CSRF,全稱Cross-site request forgery,中文翻譯成跨站請求僞造 ...
  • 前段時間做了新浪微博的一些基本功能,因爲工作上的事情獲取數據後的JSON解析一直沒空做,今天空下來,研究了一下,現在把結果寫出來在做這個之前我對JSON解析了解的不是很多,只能對一些簡單的數據解析,對于稍微複雜一點的 ...
  • 我的mint mvc
    2014年的更新: 取消@Param注解,mint可以直接沖方法中獲取參數名 取消@Pos ...
  • 在學習Web開發4年之後,我自己可以獨立做一些基本的專案了.在加入前單位秒針,也做了幾個Web專案.    我發現一個現象,很多公司大部分的Web專案,用到的技術很少,主要就是SSH等框架,實現一些行業的業務邏輯,僅 ...
  • Win7+Ubuntu11.10(EasyBCD硬盤安裝)
    轉載:http://www.cnblogs.com/cute/archive/2012/0 ...
  • 1.public string scope()throws Exception{   ActionContext ctx = ActionContext.getContext();   ctx.getApplicat ...
  • 這兩天要麽不是折騰shopex,要麽弄discuz,咱的jquery博客有點忽視了. 白天公司的事情,晚上家裏事情也多. 惆怅,時間不夠用. 公司的需求像蒼蠅似的,一會飛一個,雞毛蒜皮多如毛. 最近弄商城個人中心相冊 ...
  • C語言及程序設計實踐參考——構造菜單
    返回:賀老師課程教學鏈接  專案要求[專案:構造菜單]在應用程序中,很多都將各種功能設計了 ...