您的位置:首页 > 文旅 > 旅游 > 手机小程序怎么制作_h5开发环境_百度新闻头条_网络媒体有哪些

手机小程序怎么制作_h5开发环境_百度新闻头条_网络媒体有哪些

2025/5/3 4:04:36 来源:https://blog.csdn.net/m0_72900498/article/details/147247581  浏览:    关键词:手机小程序怎么制作_h5开发环境_百度新闻头条_网络媒体有哪些
手机小程序怎么制作_h5开发环境_百度新闻头条_网络媒体有哪些

文章目录

    • 一、连接池简介
    • 二、Druid连接池
      • 2.1、准备工作
      • 2.2、Druid连接池使用入门
      • 2.3、封装工具类
        • 2.3.1、使用工具类进行添加操作
        • 2.3.2、使用工具类进行查询操作
    • 三、三层架构
      • 3.1、是什么
      • 3.2、三层架构项目搭建(按开发步骤)
      • 3.3、案例

一、连接池简介

连接池是一种管理连接的技术。

用连接池来管理Connection,可以重复使用连接。有了连接池,我们就不用自己来创建Connection,而是通过池来获取Connection对象。当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection归还给池。连接池就可以再利用这个Connection对象了。

在这里插入图片描述

Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商可以让自己的连接池实现这个接口。这样应用程序可以方便的切换不同厂商的连接池。

二、Druid连接池

Druid是阿里巴巴开源的一个数据源,主要用于java数据库连接池,相比spring推荐的DBCP和hibernate推荐的C3P0、Proxool数据库连接池,Druid在市场上占有绝对的优势。

2.1、准备工作

  1. 新建Java项目;
  2. 在项目下新建lib目录;
  3. 将MySQL驱动jar包和Druid jar包拷贝到lib目录下;
  4. 选中lib目录右键Add as Library–单击OK。

2.2、Druid连接池使用入门

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;import java.sql.SQLException;public class Test1 {public static void main(String[] args) throws SQLException {//创建Druid连接池对象DruidDataSource dataSource = new DruidDataSource();//为Druid连接池设置参数dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://localhost:3306/mydbjdbc?useSSL=false");dataSource.setUsername("root");dataSource.setPassword("root");//初始化连接数量dataSource.setInitialSize(10);//最大连接数量dataSource.setMaxActive(100);//最小空闲连接dataSource.setMinIdle(5);//从连接池中获取连接Connection connection = dataSource.getConnection();//打印连接System.out.println(connection);//归还连接connection.close();}
}

通过上面操作我们知道了如何创建连接池,并且获取了连接,有了连接我们就可以进行CRUD操作。

2.3、封装工具类

在实际的开发中,连接池的参数我们不会在Java代码中写死,我们通常将其定义在独立的配置文件中。连接池我们通常放置在工具类中。用户使用的时候直接使用工具类,不直接操作连接池。

在src下创建jdbc.properties文件,内容如下

#连接设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydbjdbc?useSSL=false
username=root
password=root
#初始化连接数量
initialSize=10
#最大连接数量
maxActive=50
#最小空闲连接
minIdle=5

工具类代码如下

import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;public class JdbcUtil {private static DataSource dataSource;static {try {Properties prop = new Properties();//读取配置文件InputStream in = JdbcUtil.class.getResourceAsStream("/jdbc.properties");prop.load(in);//创建DataSourcedataSource = DruidDataSourceFactory.createDataSource(prop);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}//获取连接public static Connection getConnection() {Connection connection = null;try {//从连接池获取连接connection = dataSource.getConnection();} catch (SQLException throwables) {throwables.printStackTrace();}return connection;}//释放资源public static void close(Connection connection, Statement statement, ResultSet rSet) {try {if(rSet != null) {rSet.close();}if(statement != null) {statement.close();}if(connection != null) {connection.close();}} catch (SQLException throwables) {throwables.printStackTrace();}}
}

我们已经完成了工具类的编写,接下来我们使用工具类进行CRUD操作。

2.3.1、使用工具类进行添加操作
public class Test2 {public static void main(String[] args) throws SQLException {String sql = "INSERT INTO tb_stu(sname, sage, sgender) VALUES(?, ?, ?)";//获取连接Connection connection = JdbcUtil.getConnection();//获取PreparedStatementPreparedStatement statement = connection.prepareStatement(sql);//设置参数statement.setString(1, "张三");statement.setInt(2, 30);statement.setString(3, "male");//发送SQL语句int i = statement.executeUpdate();System.out.println(i);//释放资源JdbcUtil.close(connection, statement, null);}
}

上面的代码,使用工具类完成了添加操作,举一反三,按照相同的套路我们可以完成修改和删除操作。

2.3.2、使用工具类进行查询操作
import tech.code2048.util.JdbcUtil;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class Test3 {public static void main(String[] args) throws SQLException {//查询名字叫张三的所有学生的信息String sql = "SELECT * FROM tb_stu WHERE sname=?";//获取连接Connection connection = JdbcUtil.getConnection();//获取PreparedStatementPreparedStatement statement = connection.prepareStatement(sql);//设置参数statement.setString(1, "张三");//发送SQL语句ResultSet rset = statement.executeQuery();//处理结果while(rset.next()) {int sid = rset.getInt("sid");String sname = rset.getString("sname");int sage = rset.getInt("sage");String sgender = rset.getString("sgender");System.out.println(sid + "---" + sname + "---" + sage + "---" + sgender);}//释放资源JdbcUtil.close(connection, statement, rset);}
}

三、三层架构

3.1、是什么

  • 表示层(View):
    • 命名:XXXView
    • 职责:收集用户的数据和需求、展示数据。
  • 业务逻辑层(Service):
    • 命名:XXXServiceImpl
    • 职责:数据加工处理、调用DAO完成业务实现、控制事务。
  • 数据访问层(Dao):
    • 命名:XXXDaoImpl
    • 职责:向业务层提供数据,将业务层加工后的数据同步到数据库。

在这里插入图片描述

3.2、三层架构项目搭建(按开发步骤)

  • utils包存放工具类(JdbcUtils)
  • entity包存放实体类(Telephone)
  • dao包存放Dao接口(TelephoneDao)
    • impl存放DAO接口实现类(TelephoneDaoImpl)
  • service存放Service接口(TelephoneService)
    • impl存放Service接口实现类(TelephoneServiceImpl)
  • view 存放程序启动类(main)
  • 程序设计时,考虑易修改、易扩展,为Service层和DAO层设计接口,便于未来更换实现类

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

bean层:实体类层:里面有三个部分:

  1. 属性
  2. setter和getter方法
  3. 构造方法

dao层:
(增删改查,只有一句sql)

接口里面是增删改查的方法(三要素:类型 名字 参数列表)

3.3、案例

通讯录,实现对通讯录信息的CRUD操作。

要求,姓名是唯一的,姓名不能重复。

主界面

在这里插入图片描述

添加

在这里插入图片描述

添加同名信息

在这里插入图片描述

查询所有

在这里插入图片描述

根据姓名查询

在这里插入图片描述

修改通讯录

在这里插入图片描述

修改通讯里,修改的名字不存在

在这里插入图片描述

修改之后的名字和其他项名字重复,不允许修改

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com