# geekbang-preview-week **Repository Path**: light_shadow/geekbang-preview-week ## Basic Information - **Project Name**: geekbang-preview-week - **Description**: No description available - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-17 - **Last Updated**: 2021-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # geekbang-preview-week #### 介绍 小马哥训练营的预习周作业 #### 软件架构 servlet-web模块包含了第一周和第二周的作业 **第四次作业在 my-httpserver模块中的com.general.geekbang.myhttpserver.AntURLPatternsMatcher这个类中 ** #### 安装教程 第二次作业实现了两个servlet,分别是H2JdbcDataSourceServlet和MySQLJdbcDataSourceServlet 1. H2JdbcDataSourceServlet 访问的url是 [http://localhost:8080/servlet-web/jdbc/h2](http://localhost:8080/servlet-web/jdbc/h2), 会返回在请求时插入到内存数据库中的几条数据 数据分别如下 ``` id: 1, name: Eli, age: 18, email: Eli@example.com id: 2, name: Jack, age: 10, email: Jack@example.com id: 3, name: Tom, age: 28, email: Tom@example.com id: 4, name: Sandy, age: 21, email: Sandy@example.com id: 5, name: Billie, age: 24, email: Billie@example.com ``` 2. MySQLJdbcDataSourceServlet 访问的url是 [http://localhost:8080/servlet-web/jdbc/mysql](http://localhost:8080/servlet-web/jdbc/mysql), 需要在本地安装mysql数据库(使用的数据库为mysql安装弯沉之后自带的数据库 sakila),数据库链接url: jdbc:mysql://localhost:3306/sakila, username:root, password:123456, 查询的表为: select language_id, name from language。 #### 使用说明 1. H2JdbcDataSourceServlet 访问 http://localhost:8080/servlet-web/jdbc/h2 2. MySQLJdbcDataSourceServlet 访问 http://localhost:8080/servlet-web/jdbc/mysql #### 遇到的问题 1. ``` String createTableSql = "DROP TABLE IF EXISTS user;" + "CREATE TABLE user" + "(" + " id BIGINT(20) NOT NULL COMMENT '主键ID'," + " name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名'," + " age INT(11) NULL DEFAULT NULL COMMENT '年龄'," + " email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱'," + " PRIMARY KEY (id)" + ");"; boolean create = statement.execute(createTableSql);``` h2 数据库 执行这个sql建表语句时,没有返回true,返回的却是false? 2. ``` String insertTableSql = "INSERT INTO user (id, name, age, email) VALUES" + " (1, 'Eli', 18, 'Eli@example.com')," + " (2, 'Jack', 10, 'Jack@example.com')," + " (3, 'Tom', 28, 'Tom@example.com')," + " (4, 'Sandy', 21, 'Sandy@example.com')," + " (5, 'Billie', 24, 'Billie@example.com');"; boolean insert = statement.execute(insertTableSql); ``` h2 数据库 执行这个sql插入语句时,没有返回true,返回的却是false?