Javaweb第二十六天学习
2022/2/20 1:11:42
本文主要是介绍Javaweb第二十六天学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据库连接池
连接池也是使用四大参数来进行连接
三种方式:
使用dbcp来连接操作
使用之前首先导入包:
Commons-dbcp-1.4.jar
Commons-pool-1.3.jar
Mysql-commerctor-java-5.1.2.jar
然后:
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/shujuku1");
dataSource.setUsername("root");
dataSource.setPassword("123");
Connectioncon = dataSource.getConnection();
Con.close();
链接池只是对close进行了增强,调用之后就会把当前链接归还给链接池
使用c3p0来操作
导包:c3p0-0.9.1.2.jar 和 mchange-commons-java-0.2.3.4.jar
ComboPooledDataSourceda= new ComboPooledDataSource();
然后da.set…();设置四大参数,然后得到Connection对象。
C3p0也可以指定配置文件:
要求:文件名称 c3p0-config.xml 文件位置:必须在src下
<c3p0-config>
<defaul-config>默认配置
//配置四大参数
<property name = "jdbcUrl">jdbc:mysql://localhost:3306/shujuku1</property>
<property name = "driverClass">com.mysql.jdbc.Driver</property>
<property name = "user">root</property>
<property name = "Password">123</property>
//配置池参数
<property name = "acquireIncrement">3</property>
<property name = "initialPoolSize">10</property>
</defaul-config>
</c3p0-config>
这样的话。不用引入直接就可以调用Connection对象
ComboPooledDataSourceda= new ComboPooledDataSource(“default-config”);
装饰者模式
不知道被增强对象的具体类型,可以使用。
IO流:
1 字节: InputSteram , OutputSteram
2 字符: reader writer
InputSteram: FileInputSteram (字节流,绑定磁盘文件),BufferedInputSteram(装饰流,创建时需要给定一个底层对象,给他添加缓冲区)
ThreadLocal(多线程问题)
通常用在一个类的成员上,多个线程访问他时,每个线程都有自己的内容,互不影响。
Private ThreadLocal<String> username = newThreadLocal<String>();
dbUtils
导包:
Commons-dbUtils.jar
使用过程:
得到QueryRunner对象
QueryRunner qr = new QueryRunner(数据库连接池对象JdbcUtils.getDataSource());
Qr可以调用的方法:
Updata():int updata(String sql,Object…params)可以增删改
Query():T query(String sql ,ResultSetHandler rsh , Object…params);
可以执行查询操作。
ResultSetHandler接口:
BeanHandler:构造器需要一个Class类型的参数,用来把结果集转换成javaBean对象
BeanListHandler:也需要Class参数,转换成List对象,多个JavaBean
MapHandler:把一行结果集转换成Map对象
MapListHandler:List<Map>
ScalarHandler:通常用于结果集单行单列的,返回一个Object
public void fun1() throws SQLException, Exception{
QueryRunner qr = newQueryRunner(JdbcUtils.getDataSource());
String sql = "insertinto stu values(?,?,?,?)";
Object[] params = {"2016","aaa",29,"nan"};
qr.update(sql,params);
项目实例:客户管理系统
先写原型:只有页面,并没有实际的功能;
功能分析:
添加客户;查询;编辑;删除;多条件组合查询;
创建表
创建包:公司名.项目名.分层
com.haut.damain
com.haut.Dao
com.haut.service
com.haut.servlet
这篇关于Javaweb第二十六天学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南