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

合肥网页模板建站网络seo公司

合肥网页模板建站,网络seo公司,几千元的网站建设,建设自己的网站有什么什么是 DAO ? Data Access Object(数据存取对象) 位于业务逻辑和持久化数据之间实现对持久化数据的访问 DAO起着转换器的作用,将数据在实体类和数据库记录之间进行转换。 ----------------------------------------------------- DAO模式的组成部分 …

什么是 DAO ?

  • Data Access Object(数据存取对象)
  • 位于业务逻辑和持久化数据之间
  • 实现对持久化数据的访问

         DAO起着转换器的作用,将数据在实体类和数据库记录之间进行转换。

-----------------------------------------------------

DAO模式的组成部分

  • DAO接口
  • DAO实现类
  • 实体类
  • 数据库连接和关闭工具类

优势:

  • 隔离了数据访问代码和业务逻辑代码
  • 隔离了不同数据库实现


 封装JDBC

/*** 数据库工具类*/
public class BaseDao {Connection conn = null;PreparedStatement ps = null;//获取Conn对象 打开数据库链接public boolean getConn() {boolean bool = false;//默认 false 未打开数据库try {//加载驱动  方言Class.forName("com.mysql.jdbc.Driver");//准备数据库连接路径String url = "jdbc:mysql://127.0.0.1:3306/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";//用户名与密码String username = "root";String userpwd = "root";//根据路径,用户名,密码 使用DriverManager获取数据库connection连接conn = DriverManager.getConnection(url,username,userpwd);bool = true;//已经打开} catch (Exception e) {e.printStackTrace();bool = false ;//已经打开}return  bool;}/*** 添加,修改,删除数据* @param sql* @param objs* @return*/public int executeUpdate(String sql,Object objs[]){int res = 0;//初始化执行结果  失败0try {if(getConn())//打开数据库链接{ps = conn.prepareStatement(sql);if(objs!=null){for (int i = 0; i < objs.length; i++) {ps.setObject((i+1),objs[i]);}}res = ps.executeUpdate();}} catch (Exception e) {e.printStackTrace();} finally {closeResource();//关闭数据源}return res;}/*** 查询* @param sql* @param objs* @return*/public ResultSet executeSQL(String sql,Object objs[]){ResultSet rs = null;try {if(getConn())//打开数据库链接{ps = conn.prepareStatement(sql);//判断是否有参数if (objs != null) {//循环封装参数for (int i = 0; i < objs.length; i++) {ps.setObject((i + 1), objs[i]);}}rs = ps.executeQuery();}} catch (Exception e) {e.printStackTrace();} finally {closeResource();//释放资源}return rs;}//关闭资源public void closeResource(){try {if(ps!=null){ps.close();}if(conn!=null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}
}

调用工具类

实现类 继承 工具类(BaseDao)

查询:ResultSet rs = this.executeSQL(SQL语句,Object数组<参数数组>)

增,删,改: int i = this.executeUpdate(SQL语句,Object数组<参数数组>)


配置文件连接信息

 使用配置文件存储连接信息properties文件)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
jdbc.username=root
jdbc.pwd=root

  1. Properties properties = new Properties();
  2. //读取properties文件 BaseDao为当前所在类
  3. InputStream is = BaseDao.class.getClassLoader().getResourceAsStream("jdbc.properties");
  4. //将文件信息转换成properties对象
  5. properties.load(is);
  6. //通过getProperty(KEY)方法获取属性值
  7. String driver = properties.getProperty("jdbc.driver");

写信息 

package com.hz.util;import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;import com.hz.dao.BaseDao;//读取数据库属性文件,获取数据库连接信息
//如何让用户只能创建一个ConfigManger----单例模式:(1)构造方法私有(2)程序提供给别人唯一对象
//ConfigManager.getInstance().getString("jdbc.Driver")public class ConfigManager {private static ConfigManager configManager;private Properties properties;private ConfigManager() {String configFile = "database.properties";// 读取properties文件 BaseDao为当前所在类InputStream is = ConfigManager.class.getClassLoader().getResourceAsStream("database.properties");properties = new Properties();try {// 将文件信息转换成properties对象properties.load(is);is.close();} catch (IOException e) {e.printStackTrace();}}//提供给别人一个唯一的ConfigManger对象//通过 类名. 调用public static ConfigManager getInstance() {if (configManager == null) {configManager = new ConfigManager();}return configManager;}// 通过getProperty(KEY)方法获取属性值public String getString(String key) {return properties.getProperty(key);}}

在整个程序运行期间,有且仅有一个实例若违背这一点,所设计的类就不是单例类。

 


连接池与数据源

        使用JDBC访问数据库时,频繁的连接导致系统的安全性和稳定性差,通过数据源和连接池来解决问题。

连接池

        连接池是由容器提供的,用来管理池中连接对象。

 数据源

 

http://www.dt0577.cn/news/53935.html

相关文章:

  • 新泰网站制作公司seo模拟点击算法
  • 如何选择品牌网站建设网络推广入门教程
  • 企业网站建设课件百度pc网页版登录入口
  • 网站建设策划书的编制惠州seo推广公司
  • 东营市两学一做考试网站今日国内热点新闻头条事件
  • java web网站开发结果百度认证官网申请
  • .red域名做网站好不好陕西网络推广公司
  • 学校网站建设汇报ppt刚开的店铺怎么做推广
  • 网站运营部门职责湖南网站seo公司
  • wamp可以做视频网站吗百度知道问答平台
  • 网站关键词布局百度一下马上知道
  • 合肥网站搭建工作室网上互联网推广
  • 网站模板源码平台沧州做网络推广的平台
  • 星子网优化内容
  • 做网站需学什么凡科网微信小程序
  • 招聘网站建设流程图windows优化大师好吗
  • 徐州市制作网站微信朋友圈推广文案
  • 房产信息网官网查询百度seo优化推广
  • linux类似wordpress合肥seo推广公司
  • 医学类的网站做Google在线外链推广
  • 邯郸企业网站团队常用的seo查询工具
  • php企业网站开发框架合肥关键词排名提升
  • 营销型网站建设网站建设营销如何交换优质友情链接
  • 沃尔玛seo站外推广有哪些
  • 政府网站后台企业网站cms
  • 电子商务建设与网站规划百度品牌专区
  • 宜春做网站公司线上推广有哪些渠道
  • 学校网站开发图片素材上海搜索引擎优化seo
  • 衢州网站建设公司建网站的流程
  • 国家建设部官方培训网站营销策划方案ppt