当前位置: 首页 > news >正文

上海建网站公司排名青岛关键词排名哪家好

上海建网站公司排名,青岛关键词排名哪家好,深圳市做网站前十强,出售网站建设群概念:DAO(Data Access Object) 数据库访问对象,**面向数据库SQL操作**的封装。 (一)场景 问题分析 在实际开发中,针对一张表的复杂业务功能通常需要和表交互多次(比如转账)。如果每次针对表的…

概念:DAO(Data Access Object) 数据库访问对象,**面向数据库SQL操作**的封装。

(一)场景

问题分析

在实际开发中,针对一张表的复杂业务功能通常需要和表交互多次(比如转账)。如果每次针对表的简单操作我们都写一遍,代码中会出现大量的代码冗余。

解决思路

将重复的SQL操作提炼至方法中,达到一条SQL操作多次复用的目的

(二)DAO编程

核心思想

DAO模式目的就是将SQL语句转化为通用SQL语句,并封装成Java方法、提高代码复用性。

编码规范:

  • ① 一张表的操作对应一个DAO

  • ② 一个通用的SQL封装成一个方法,方法名和对应sql关键词一致,且望文生义

    操作Java数据库
    新增insertXxx(Xxx x)insert into ...
    删除deleteXxxxxId(Integer id)delete from ...
    更新updateXxx(Xxx x)update t_xxx set ...
    查询单个Xxx selectXxxxxId(Integer id)select * from ...
    查询多个List<Xxx> selectXxxs()select * from ...
  • ③ 具体实现采用dao接口+impl实现类的形式(目的为提升代码扩展性和维护性

    • ① 接口中做方法声明的约束

    • ②实现类中利用JDBCTemplate做具体实现

    • ③ 接口命名:对应实体类名+Dao,例如表t_person,DAO命名为PersonDAO

    • ④ 实现类名:接口名+Impl,如PersonDAOImpl

    • ⑤ 接口存放在dao包下

    • ⑥ 实现类需要存放在dao.impl包下

示例

编写一个关于Person表的DAO操作类。

  • 简化版

package com.xx.dao;
​
import com.xx.entity.Account;
​
import java.util.List;
​
/*** t_account表的所有SQL操作*/
public interface AccountDao {/*** 根据账户名查询账户信息* @param accName 被查询的账户名* @return 对应的账户对象*/Account selectAccountxxAccountName(String accName);
​/*** 根据账户名修改账户信息* @param account 包含了被修改的账户名和修改后的余额 的对象* @return 受影响的行数*/int updateAccountxxAccountName(Account account);
​/*** 新增账户信息* @param account 包含所有信息的对象* @return 受影响的行数*/int insertAccount(Account account);
​/*** 根据账户id删除账户信息* @param id 被删除的id* @return 受影响的行数*/int deleteAccountxxAccountId(int id);
​/*** 查询所有账户信息* @return 账户对象的list集合*/List<Account> selectAccounts();
​
}
  • 详细代码:结合JDBCUtils

package com.xx.dao.impl;
​
import com.xx.dao.AccountDao;
import com.xx.entity.Account;
import com.xx.util.JDBCUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
​
import javax.sql.DataSource;
import java.util.List;
​
public class AccountDaoImpl implements AccountDao {@Overridepublic Account selectAccountxxAccountName(String accName) {//获取JDBCTemplateJdbcTemplate jdbcTemplate = JDBCUtils.getJDBCTemplate();String sql1 = "select * from t_account where account_name=?";//查询转出人信息List<Account> list = jdbcTemplate.query(sql1, new BeanPropertyRowMapper<>(Account.class), accName);//集合内容为空为返回null,内容不为空将对应对象获取返回return list.isEmpty() ? null : list.get(0);}
​@Overridepublic int updateAccountxxAccountName(Account account) {//获取JDBCTemplateJdbcTemplate jdbcTemplate = JDBCUtils.getJDBCTemplate();
​String sql = "update t_account set balance=? where account_name=?";//执行sqlint n = jdbcTemplate.update(sql, account.getBalance(), account.getAccountName());return n;}
​@Overridepublic int insertAccount(Account account) {//获取JDBCTemplateJdbcTemplate jdbcTemplate = JDBCUtils.getJDBCTemplate();//书写sqlString sql = "insert into t_account(account_name,account_password,balance) values(?,?,?)";//执行sqlint n = jdbcTemplate.update(sql, account.getAccountName(), account.getAccountPassword(), account.getBalance());return n;}
​@Overridepublic int deleteAccountxxAccountId(int id) {//获取JDBCTemplateJdbcTemplate jdbcTemplate = JDBCUtils.getJDBCTemplate();
​String sql = "delete from t_account where account_id=?";//执行sqlreturn jdbcTemplate.update(sql, id);}
​@Overridepublic List<Account> selectAccounts() {//获取JDBCTemplateJdbcTemplate jdbcTemplate = JDBCUtils.getJDBCTemplate();
​String sql = "select * from t_account";return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Account.class));
​}
}
http://www.hkea.cn/news/477566/

相关文章:

  • 长沙 做网站企业网络组网设计
  • 北京哪家做网站优化产品seo基础优化
  • 招商加盟网站建设百度网址安全检测
  • 知名做网站费用2024年将爆发新瘟疫
  • 河北省城乡与建设厅网站企业关键词排名优化哪家好
  • 网站开发合同协议百度百科推广费用
  • 推荐黄的网站产品推广策划
  • 济南网站建设设计公司线上运营推广
  • 小清新 wordpressseo排名是什么意思
  • 从客户—管理者为某一公司做一份电子商务网站管理与维护的方案自媒体是如何赚钱的
  • 黑龙江住房和城乡建设厅网站首页每日精选12条新闻
  • 做网站工作都包括什么企业网站搭建
  • 自己可以进行网站建设吗河北网站推广
  • 网站建设与管理论文seo整站怎么优化
  • 西安做网站收费价格网站流量监控
  • 福州网站制作有限公司南京疫情最新情况
  • 国外品牌设计网站天津疫情最新消息
  • 宁波有做网站的地方吗seo报价单
  • 深圳企业网站开发中国法律服务网app最新下载
  • 大连企业网站建站国外域名注册网站
  • 站长工具seo综合查询权重百度在线搜索
  • 伊犁网站建设评价怎样才能上百度
  • 房地产网站建设方案百度实名认证
  • 做外贸可以在哪些网站注册网络项目免费的资源网
  • 中国建设银行信用卡网站首页青岛关键词优化平台
  • 阿里云网站建设考试题目长沙网站推广服务公司
  • 甘肃建设项目审批权限网站俄罗斯搜索引擎yandex官网入口
  • 网站建设公司新员工培训ppt模板百度热门搜索排行榜
  • 仿魔客吧网站模板网址大全是ie浏览器吗
  • 网站产品后台界面怎么做湖南关键词排名推广