DBUtils工具类和Tomcat的安装和配置
DBUtils工具类
-
步骤:
-
先从官网去下载DBUtils的jar包 commons-dbutils-1.6.jar 放到classpath类路径下,也就是 lib文件夹下面,依赖于数据源
-
还要下载数据库连接池jar包 c3p0 / druid 数据库驱动jar包、commons-logging.jar包
-
搭建数据源工具类 DruidDBUtil 可以获取数据源
-
从数据源中获取连接 ----> DBUtils来直接操作sql
-
api常用方法:
-
update(): DML语句 增删改操作 insert delete update
-
query(): DQL语句 查询操作 select
-
-
具体操作:
-
第一步:先构建QueryRunner类对象 依赖于数据源
-
第二步:根据操作的类型选择update、query
-
update (sql,Object... parameters) -----> 增删改
-
query(sql,Object ... pararmeters, ResultSetHandle接口实现类<对应的字节码对象类型>)
-
BeanHandle -----> 装配一个Bean对象
-
BeanListHandle -----> 装配多个Bean对象
-
MapListHandle -----> 装配多个Bean对象,每一个Bean对象被装配到Map集合中
-
注意:ScalaHandle类型 ----> 默认返回值是long类型的
-
-
-
具体操作:
-
-
1 // 构建QueryRunner类对象
2 private static QueryRunner runner = new QueryRunner(DruidDBUtil.getDataSource());
3 public static void main(String[] args) throws Exception {
4 // 添加一条数据
5 //insertData();
6 // 修改一条数据
7 //updateData();
8 // 删除一条数据
9 //deleteData();
10 // 查询一条数据
11 //System.out.println(queryOne());
12 // 查询总信息值
13 //System.out.println(queryAll());
14 // 查询总记录数
15 System.out.println(queryTotalNum());// 3
16 }
17 // 查询总记录数
18 public static long queryTotalNum() throws Exception {
19 // ScalarHandle 对 ResultSetHandle做了实现
20 return runner.query("select count(id) from account where id > ?", new ScalarHandler<>(), 2);
21 }
22 // 查询总信息值
23 public static List<Account> queryAll() throws Exception {
24 // BeanListHandle 对ResultSetHandle 做了实现
25 return runner.query("select * from account", new BeanListHandler<>(Account.class));
26 }
27 // 查询一条记录值
28 public static Account queryOne() throws Exception {
29 // BeanHandle 对 ResultSetHandle做了实现
30 // 查询id=3的那条记录
31 return runner.query("select * from account where id = ?", new BeanHandler<>(Account.class), 3);
32 }
33 // 删除一条数据
34 public static void deleteData() throws Exception {
35 int count = runner.update("delete from account where username = ?","小花");
36 if (count > 0) {
37 System.out.println("数据删除成功!");
38 } else {
39 System.out.println("数据删除失败!");
40 }
41 }
42 // 修改一条数据
43 public static void updateData() throws Exception {
44 int count = runner.update("update account set balance = ? where username = ?" ,10000,"小花");
45 if (count > 0) {
46 System.out.println("数据修改成功");
47 } else {
48 System.out.println("数据修改失败!");
49 }
50 }
51 // 添加数据
52 public static void insertData() {
53 // 往account表中添加一条数据
54 String sql = "insert into account values(null,?,?)";
55 try {
56 int count = runner.update(sql, "小花",4000);
57 if (count > 0) {
58 System.out.println("数据添加成功!");
59 } else {
60 System.out.println("数据添加失败!");
61 }
62 } catch (SQLException e) {
63 e.printStackTrace();
64 }
65 }
web服务器
-
服务器:软件+硬件 安装了服务器软件的计算机
-
服务器软件:具体软件产品 接收用户的一些请求,处理用户请求,给用户返回结果。
-
web服务器软件:一般用于网站的服务器,可以处理浏览器客户端一些请求并返回一些响应。目的就是让网络中的任何用户都可以访问服务器中部署的一些web资源。Apache Nginx
-
web容器:安装服务器软件
-
常见的与Java相关的web服务器软件:
-
tomcat 免费,开源,服务中小型的Java EE项目 支持一部分的Java EE规范: Servlet/ JSP 使用用户群体非常的大,使用的范围很广,知名度很高
-
weblogic:oracle公司 服务与大型Java EE项目。支持所有的Java EE规范 收费的
-
webSphere:IBM公司 服务与大型Java EE项目。支持所有的Java EE规范 收费的
-
Jboss:Jboss公司 服务与大型Java EE项目。支持所有的Java EE规范 收费的
-
-
Java EE: Java语言在企业级开发中使用的技术规范的总和。一共规范的13项。
-
JavaEE的13项技术规范:JDBC JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF
-
JDBC规范 Java Database Connectivity
主要是对关系型数据库据提供统一的访问方式。针对不同的数据库只用使用一套代码即可。
-
JNDI Java Naming Directory Interface
Java命名和目录接口,提供了一套统一可以在网络中查找和访问服务的方式。通过指定一个服务器名称,该名称对应于数据库或者命名服务中的一个记录。
在DataSource中可以事先建立多个数据库连接,保存在数据库链接池中。当程序中需要连接时从数据库连接池中取出有一个空闲状态的数据库连接即可。
-
EJB Enterprise JavaBean
一套服务器组件模型:包含有四种状态的对象类型:无状态会话bean、有状态会话bean、实体bean、消息驱动bean
-
RMI RemoteMethod Invoke
远程方法调用。能够在一台计算机中去访问另一台计算机中的应用(方法)
-
JSP Java Server Page
java服务器页面,是一个动态的内容模板。JSp可以使用 Servlet提供的API方法。一般情况下需要和JavaBean结合使用。从而可以将页面表现和业务逻辑分离。
-
Servlet Java Server Applet
使用java语言编写的运行在服务器端的小程序。扩展了web服务器的功能。
-
XML Extensible Markup Language
是一种可扩展的标记语言。被用来在不同的业务中实现共享数据的。它主要用于传输数据的。
-
JMS Java Message Service
JMS是java消息服务,它主要应用在不同的客户端中实现异步的消息传输。也是一个和Java平台无关的面向消息服务的中间件
-
Java IDL Java Interface Description Language
Java 接口定义语言 描述软件组件的一中计算机语言。
-
Java Mail
JavaMail 是用于存取邮件服务器的 支持Smtp服务 也支持Imap服务还支持POP服务
-
JTA Java Transaction API
Java 事务API 保证用户操作的ACID(原子、一致、隔离、持久)属性。
-
JAF Java Activition Framework
是Java中一套关于处理数据的框架。
-
JTS Java Transaction Service
Java 事务服务,是一套组件进行事务监听的。
-
-
Tomcat:web服务器软件
-
步骤:
-
去官方下载安装包。apache-tomcat-9.0.39-windows-x64.zip
-
解压到 D:Developer/tomcat目录下
-
启动tomcat服务:在tomcat/bin/startup.bat 双击该文件
-
访问tomcat服务的管理页面 ----->http:// ip地址:8080 回车
-
-
出现端口被占用了:
-
找到你占用的端口:
cmd指令:netstat -ano
端口号:0~65535 找到对应的PID值,打开任务管理器---->PID对应的应用结束任务。
-
修改tomcat的默认端口号:
-
tomcat/conf/server.xml
-
<Connector port = "端口号修改为其他的端口值" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
-
建议将tomcat的端口号改为80端口值,http协议的默认端口号是80.可以省略不写 。
-
-
-
关闭tomcat服务器: 关闭打开的窗口/ 点击---> bin/shutdown.bat
-
介绍tomcat解压包的目录:
-
bin:存放的是一些可执行文件
-
conf:存放tomcat的配置文件信息
-
lib: tomcat运行支持的类库jar包
-
logs:tomcat服务器运行的是日志文件
-
temp:存放tomcat运行过程中产生的临时文件
-
webapps:存放的是web项目,把需要部署到服务器上的web项目存放到webapps下面
-
work:存放的是tomcat运行过程产生的数据文件信息
-
-
部署:
-
第一种方式:将web项目直接放到webapps下面即可
-
虚拟目录默认就是项目名称
-
-
第二种方式:配置conf/server.xml文件
<Context docBase = "D:\Developer\helloworld" path = "/helloworld" />
docBase:项目存放的真实路径
path:虚拟目录 "/"---> 后面跟的是虚拟目录,如果后面无信息代表没有虚拟目录,直接访问web资源
-
第三种方式:在 conf/Catalina/localhost创建一个xml文件,在文件中编写执行web项目的路径
<Context docBase="D:\Developer\helloworld" />
注意:虚拟目录就是xml文件的名称。
-
-
-
和IDE开发工具结合使用 将tomcat集成到IDE开发工具中。使用开发工具对web项目进行部署。
Eclipse工具操作步骤:
-
-
- 打开Server窗口
-
- 修改Servers配置
-
- 修改项目的虚拟目录
-
- 添加Tomcat服务器后台管理的账户和权限