queryrunner

10分钟复习javaweb

会有一股神秘感。 提交于 2019-11-30 04:19:39
html:是网页的骨架,静态网页初步的轮廓,简单粗糙,僵硬又没有美感.表单的标签<form>,里面的<input>很常用,里面有type属性等 css:为了更加灵活,常与div一起布局,设置边框,颜色,位置等,标签内写(关键词style) JavaScript:比前两个多了var多了function(),,有对象有方法,走向动态,通过<script></script>标签插入到HTML页面 JQuery:JavaScript封装和创建对象不方便操作,于是有了JQuery,用$加选择器直接快速找到标签元素直接操作 bootstap:运用之前全部,排版方便合理,响应式布局,栅格系统,有很多成熟的代码可以直接使用,使得web开发更加快捷美观 mysql: 我们需要有数据存储的地方 JDBC:将Java语言和数据库结合起来,通过java语言可以直接操作数据库 c3p0连接池:复用连接,提高效率 (1ComboPooledDataSource dataSource=new ComboPooledDataSource("mysql") 2dataSource.getConnection()) DBUtil:封装的JDBC操作,简化JDBC操作,留意QueryRunner类和ResultsetHandler类,可以直接获取连接池然后操作数据库 (1QueryRunner queryRunner

DBUtils框架的使用(下)

一世执手 提交于 2019-11-28 15:08:49
刚才讲了使用QueryRunner插入、修改、更新数据,现在来学习一下使用QueryRunner进行数据库表查询。 通过QueryRunner类的query()方法即可完成数据库表的查询操作,但是在查询的时候需要实现ResultSetHandler接口来将结果集封装成对象。可以通过自己实现接口,但很显然,我们应该使用DBUtils工具包提供的实现类来实现封装。 在DBUtils框架中,共提供了九个ResultSetHandler的实现类。 ArrayHandler:把结果集中的第一行数据转成对象数组。 ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。 BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。 BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。 ColumnListHandler:将结果集中某一列的数据存放到List中。 MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。 MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里(List )

IDEA用Maven连接MySQL的jdbc驱动,并操作数据库

不羁的心 提交于 2019-11-28 07:49:10
1、在IDEA里创建Maven项目 1.1、点击Create New Project 1.2、选择Maven,JDK这里用的是1.8,点击Next 1.3、填入“组织名”、“项目名”,版本是默认的,点击Next 1.4、选择创建路径,点击Finsh 1.5、这是创建完成的界面 2、用Maven连接Mysql的JDBC驱动 2.1、打开src下的pom.xml文件, 在里面添加Mysql的jdbc包的引用,代码如下 1 <dependencies> 2 <dependency> 3 <groupId>mysql</groupId> 4 <artifactId>mysql-connector-java</artifactId> 5 <version>8.0.18</version> 6 </dependency> 7 </dependencies> 2.2、添加完成后,IDEA右下角会出现下图提示,点击提示中的Import Changes,Maven就会开始下载资源 2.3、下载时页面左下角出现正在下载的提示 2.4、下载完成变成绿勾 3、连接数据库第一种方式:直接注册驱动,向数据库插入数据(不推荐使用) 3.1、在src——main——java目录下,新建一个LinkDatabaseInsert的类 1 import java.sql.Connection; 2 import

增删改查——QueryRunner类

北城以北 提交于 2019-11-28 00:09:07
利用QueryRunner类实现对数据库的增删改查操作,需要先导入jar包:commons-dbutils-1.6。利用QueryRunner类可以实现对数据步骤的简化。 1、添加 运用JDBC工具类实现连接: package JDBCUtils; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class JDBCUtils { private static Connection con; private static String driver; private static String url; private static String username; private static String password; static {// 静态代码块只执行一次,获取一次信息即可 try { readConfig(); Class.forName

Java DbUtils 操作数据库

北城余情 提交于 2019-11-27 19:39:17
示例 1、新建项目,把数据库驱动、DbUtils的jar包添加到项目中 2、新建文件夹resource,标识为资源根目录,下面新建数据库连接的配置文件mysql.properties driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/my_db?serverTimezone=GMT user=chy password=abcd ?serverTimezone=GMT是为了解决时区问题,GMT、UTC均可。 3、新建实体类bean.Student 1 package bean; 2 3 public class Student { 4 private int id; 5 private String name; 6 private int age; 7 private int score; 8 9 public Student() { 10 } 11 12 public Student(int id, String name, int age, int score) { 13 this.id = id; 14 this.name = name; 15 this.age = age; 16 this.score = score; 17 } 18 19 public int getId() { 20

Flink DataStream Join小规模维度数据的简便方法

你离开我真会死。 提交于 2019-11-27 16:50:03
在编写基于Flink的ETL程序时,我们经常需要用维度数据丰富我们接入的流式数据,如通过商品ID获得商品名称、通过商品分类ID获得分类名称等等。而维度表基本都位于外部存储,换句话说,就是要解决一个无界的流式表与一个有界的码表或半静态表做join操作的问题。 一般情况下的首选方案是Flink内置的异步I/O机制,必要时还得配合使用高效的缓存(如Guava提供的LoadingCache)减少对外部数据源的请求压力。由于今天时间紧张,所以不深入谈它的原理和用法了,之后会再提。看官如果想了解的话,可以先参考官方文档和FLIP-12给出的设计细节。 但是,异步I/O对于那种变化缓慢并且规模不大的维度数据,就显得有些杀鸡用牛刀了。我们完全可以自己做个轻量级的实现。下面举出一个示例,它从订单日志中取出站点ID、城市ID,然后从存储在MySQL的维度表中获取站点名和城市名,并写回订单日志。 public static final class MapWithSiteInfoFunc extends RichMapFunction<String, String> { private static final Logger LOGGER = LoggerFactory.getLogger(MapWithSiteInfoFunc.class); private static final long

阶段3 2.Spring_06.Spring的新注解_3 AnnotationConfigApplicationContext的使用

喜欢而已 提交于 2019-11-27 07:30:17
目前这个配置文件除了导约束就没有其他的内容了。 删除这个bean.xml文件 但是测试类里面还是读取的xml的信息 注解 查看ApplicationContext的 关系图 查看实现类的实现类 之前我们一直都应的是ClassPathXmlApplicationContext ClassPathXmlApplicationContext的上面有一个AnnotationConfigApplicationContext 备注接的类。就是被@Configuration注解过的类 把后面的测试方法都替换掉 测试保存方法 用测试查询 查看刚才的保存是否成功了 细节的注意 测试QueryRunner 这的queryRunner目前是个单例的 通过编写测试类来测试一下QueryRunner 获取两个runner对象。测试这两个对象是否一致 测试结果 。true表示它当前是一个单例的 修改为多例的模式 变成多例的了 来源: https://www.cnblogs.com/wangjunwei/p/11351169.html

java----DBUtils知识点补充

陌路散爱 提交于 2019-11-27 06:25:28
dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作。 不在他的考虑范围 QueryRunner主要是这个类 import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; import com.mchange.v2.c3p0.ComboPooledDataSource; public class DBUtilsDemo1 { //dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作。 不在他的考虑范围 //QueryRunner主要是这个类 public static void main(String[] args) throws SQLException { //本部分演示QueryRunner类的增加,删除,更新 //结合C3p0的配置文件的使用方式,直接一行代码获取连接 QueryRunner queryRunner=new QueryRunner(new ComboPooledDataSource()); //增加 String sql="insert into blank values (null,?,?)"; //删除 String sql2="delete from blank where id=?"; //更新 String

java---连接池的学习

寵の児 提交于 2019-11-27 04:29:27
/* * ####################################数据库的连接池学习################################# * * * #####数据库连接池 >1. 数据库的连接对象创建工作,比较消耗性能。 >2.一开始现在内存中开辟一块空间(集合) , 一开先往池子里面放置 多个连接对象。 后面需要连接的话,直接从池子里面去。不要去自己创建连接了。 使用完毕, 要记得归还连接。确保连接对象能循环利用。 ![icon](img/img11.png) ###自定义数据库连接池 * 代码实现 * 出现的问题: 1. 需要额外记住 addBack方法 2. 单例。 3. 无法面向接口编程。 UserDao dao = new UserDaoImpl(); dao.insert(); DataSource dataSource = new MyDataSource(); 因为接口里面没有定义addBack方法。 4. 怎么解决? 以addBack 为切入点。 ###解决自定义数据库连接池出现的问题。 > 由于多了一个addBack 方法,所以使用这个连接池的地方,需要额外记住这个方法,并且还不能面向接口编程。 > 我们打算修改接口中的那个close方法。 原来的Connection对象的close方法,是真的关闭连接。 >

Java学习笔记 DbUtils数据库查询和log4j日志输出 使用

喜你入骨 提交于 2019-11-26 10:19:06
DbUtils使用 QueryRunner DbUtils中定义了一个数据库操作类 QueryRunner ,所有的数据库操作CRUD都是通过此类来完成。 此类是线程安全的 方法名 对应sql语句 excute create语句 query select语句 update update,insert,delete ResultSetHandler DbUtils中,封装了几种常用的Handler,便于将查询得到的ResultSet转换为对应的Java对象。这几种Handler都是实现了ResultSetHandler接口 Handler 说明 描述 BeanHandler JavaBean处理器 查询结果集的一行并且一行封装成一个javabean对象 BeanListHandler 列表处理器 将多行查询集封装成一个javabean列表List MapHandler Map处理器 将查询结果集的一行仅且一行封装成一个Map对象,结果的列名作为key,值作为value; MapListHandler Map列表处理器 返回一个列表其元素为Map,查询结果集的每一行封装成一个Map对象,结果的列名作为key,值作为value; ScalarHandler 标量类型处理器 将只有一行一列的查询结果集封装成一个基本类型的值(查询中有聚合函数,avg,count) 例子