欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

數據操作邏輯

系統 1675 0

結合上一篇筆記,這一篇是關于數據操作的各種邏輯實現,以Message類為例

?

包圖
數據操作邏輯

Message類,已簡化

?

    package com.ccit.bean;

public class Message {
	private Integer id;
	private String title;
	private String content;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
}
  

?

dao.inter包 MessageDao接口

?

    package com.ccit.dao.inter;

import com.ccit.bean.Message;
import com.ccit.tools.PageDiv;

public interface MessageDao {
	public boolean add(Message m);
	public boolean update(Message m);
	public boolean delete(int id);
	public Message getMsg(int id);
	public PageDiv<Message> getAll(int pageNo, int pageSize);
.。。。。。
}
  

?

dao.impl包

?

DaoBase類

    package com.ccit.dao.impl;

import com.ccit.jdbc.template.JDBCTemplate;
public class DaoBase {
	protected JDBCTemplate template = JDBCTemplate.getJDBCTemplate();
}
  

?MessageDaoImpl類

    package com.ccit.dao.impl;

import java.sql.Timestamp;
import java.util.List;

import com.ccit.bean.Message;
import com.ccit.dao.inter.MessageDao;
import com.ccit.rowmap.MsgRowMapper;
import com.ccit.tools.PageDiv;

public class MessageDaoImpl extends DaoBase implements MessageDao {

	@Override
	public boolean add(Message m) {
		boolean flag = false;
		String sql="insert into t_msg(m_title ,m_content)values(?,?)";
		if(this.template.ExecuteUpdate(sql, m.getTitle(),m.getContent(),) > 0) {
			flag = true;
		}
		return flag;
	}
	@Override
	public boolean update(Message m) {
		boolean flag = false;
		String sql = "update t_msg set m_title=?,m_content=? where id=?";
		if(this.template.ExecuteUpdate(sql, m.getTitle(),m.getContent(),m.getId()) > 0) {
			flag = true;
		}
		return flag;
	}
	@Override
	public boolean delete(int id) {
		boolean flag = false;
		String sql="delete from t_msg where id = (?)";
		if(this.template.ExecuteUpdate(sql,id)>0){
			flag = true;
		}
		return flag;
	}
	@Override
	public Message getMsg(int id) {
		Message m = null;
		String sql="select * from t_msg where id="+id;
		m = (Message) this.template.getUniquObject(sql, new MsgRowMapper());
		return m;
	}

。。。。。。
}
  

?

dao.factory包 DaoFactory類

    package com.ccit.dao.factory;

import java.io.IOException;
import java.util.Properties;

import com.ccit.dao.impl.DaoBase;

public class DaoFactory {

	public static DaoBase getDao(String daoName){
		DaoBase db = null;
		Properties p = new Properties();
		try {
			p.load(DaoFactory.class.getResourceAsStream("/dao.properties"));
			db=(DaoBase)Class.forName(p.getProperty(daoName)).newInstance();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		return db;
	}
}
  

?

JDBCTemplate類

請參照另一篇筆記 http://ericblog.iteye.com/blog/1014356

?

MsgRowMapper類

實現RowMapper接口

    package com.ccit.rowmap;

import java.sql.ResultSet;
import java.sql.SQLException;

import com.ccit.bean.Message;
import com.ccit.dao.inter.RowMapper;

public class MsgRowMapper implements RowMapper {
	@Override
	public Object RowMap(ResultSet rs) {
		Message m = new Message();
		try {
			m.setContent(rs.getString("m_content"));
			m.setId(rs.getInt("id"));
			m.setTitle(rs.getString("m_title"));
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return m;
	}
}

  

?

RowMapper接口

    package com.ccit.dao.inter;

import java.sql.ResultSet;

public interface RowMapper {

	/**
	 * 把RS中的當前光標的數據轉換為一個對象
	 * @param rs
	 * @return
	 */
	public Object RowMap(ResultSet rs);
}
  

?

dao.properties配置信息

    MessageDao=com.ccit.dao.impl.MessageDaoImpl
  

?

代碼挺多,跑起來之后更有助于理解。

對Message操作全放在MessageDaoImpl這個類中實現,在調用時通過DaoFactory獲得。impl類將寫好的sql語句及其他參數交給JDBCTemplate類執行。

數據操作邏輯


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 毛片免费一区二区三区 | 日韩中文字幕av | 久草免费在线播放 | 久久亚洲国产精品五月天婷 | 国产乱色精品成人免费视频 | 日韩国产精品一区二区三区 | 91婷婷色| 青娱乐免费视频 | 天天在线综合网 | 亚洲成人免费视频 | 成 人 片 在线观看 激情五月六月婷婷 | 黄色片免费在线 | 视频一区中文字幕 | 日韩视频在线观看免费视频 | 老牛影视av一区二区在线观看 | 91成人免费看| 国产九九精品 | 精品日韩欧美一区二区三区在线播放 | 日本在线免费观看视频 | 久久黄视频 | 日韩福利视频导航 | 日韩精品一区二区三区在线观看 | 亚洲精品一区专区 | 国产亚洲精品久久久久久一区二区 | 国产高清视频在线 | 中文区永久区 | 久久精品欧美一区二区三区不卡 | 热久久免费 | 99热精品在线观看 | 国产区小视频 | 久草在线免费播放 | 亚洲激情视频在线观看 | 欧美在线观看视频 | 亚洲成人黄色在线 | 久久95| 91精品在线看 | 国产精品第一区第27页 | www.国产| 免费观看成人毛片A片2008 | 日本一级α片 | 成人在线97 |