发表于: 2019-11-15 22:54:33

1 1008



今日完成(日志由于太长了,下午+晚上的一部分文字被折叠了,问了师兄,说是网站的bug

上午

1.练习查询,修改的sql语句

sql语句总结

插入

INSERT INTO 表名称 VALUES (值1, 值2,....)

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

查询

SELECT 列名称 FROM 表名称(where 列 =?)

SELECT * FROM 表名称

修改

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

删除

DELETE FROM 表名称 WHERE 列名称 = 值


2.学习建立索引
建表后创建
ALTER TABLE 表名 ADD [UNIQUE | FULLTEXT | SPATIAL]  INDEX | KEY  [索引名] (字段名1 [(长度)] [ASC | DESC]) [USING 索引方法
CREATE  [UNIQUE | FULLTEXT | SPATIAL]  INDEX  索引名 ON  表名(字段名) [USING 索引方法];

说明
    UNIQUE:可选。表示索引为唯一性索引。
    FULLTEXT:可选。表示索引为全文索引。
    SPATIAL:可选。表示索引为空间索引。
    INDEX和KEY:用于指定字段为索引,两者选择其中之一就可以了,作用是一样的。
    索引名:可选。给创建的索引取一个新名称。
    字段名1:指定索引对应的字段的名称,该字段必须是前面定义好的字段。
    长度:可选。指索引的长度,必须是字符串类型才可以使用。
    ASC:可选。表示升序排列。
    DESC:可选。表示降序排列
注:索引方法默认使用B+TREE

索引建立后查询加快了

索引总结:

索引:相当于书的目录,所以索引是一个单独的,物理的数据结构,它与目录一样,也是单独存在的。但索引的建立依赖于表的建立。

作用:1.加快表之间的连接速度

2.加快数据检索速度

3.保证数据记录的唯一性,唯一性索引

4.减少查询的时间 索引的类型:

不重复的,称为:唯一索引

如果索引不唯一,称为 :单列索引

多列组合的索引,称为:复合索引

根据索引的顺序与数据表的物理顺序是否形同,索引分为两种类型,聚集索引和非聚集索引

聚集索引:根据行的键值,在表或视图中排序和存储数据行,每个表只能有一个聚集索引。 

非聚集索引:一个表可以创建多个非聚集索引,最多可以有249个非聚集索引。

索引的使用 考虑创建索引的列

1.主键列上

2.经常用在连接的列上

3.经常需要范围查询的列上

4.经常要排序的列上 不考虑创建索引的列

避免:1.从来不查询的列 2.选择性低(重复值多)的列 3.小表(记录少的) 4.更新比较频繁的


3.将表数据备份后删除再导入恢复

4.maven命令:

clean:打包会安装到本地的maven仓库中,如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,

install:打包会安装到本地的maven仓库中,如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,




下午+晚上


1.安装配置IDEA,(已有maven,jdk,)

jdk:Java开发环境,jre:Java运行环境;

2.利用idea创建maven项目,创建jdbc.java连接数据库,实现简单的查询

public class jdbc {

public static void main(String[] args) {
//声明Connection对象
       Connection con;
       //驱动程序名
       String driver = "com.mysql.jdbc.Driver";
       //URL指向要访问的数据库名mydata
       String url = "jdbc:mysql://127.0.0.1:3306/mytest?characterEncoding=UTF-8";
       //        //MySQL配置时的用户名
       String user = "root";
       //MySQL配置时的密码
       String password = "admin";
       //遍历查询结果集
       try {
//加载驱动程序
           Class.forName(driver);
           //1.getConnection()方法,连接MySQL数据库!!
           con = DriverManager.getConnection(url, user, password);
           //2.创建statement类对象,用来执行SQL语句!!
           Statement statement = con.createStatement();
           //要执行的SQL语句

           //查询
           String sql = "select * from person ";
           //3.ResultSet类,用来存放获结果集!!
           ResultSet queryrs = statement.executeQuery(sql);
           //输出结果
           while (queryrs.next()) {
int id = queryrs.getInt("id");
               String name = queryrs.getString("name");
               System.out.println(id);
               System.out.println(name);
           }

//更新
           String updatesql = "UPDATE person SET name = '刘民' WHERE id = 97";
           int updaters = statement.executeUpdate(updatesql);
           System.out.println();

//            //插入
//            String insertsql = "insert into person (id,name,Create_at)values(21,'刘旺',todate('2014-02-14'))";
//            int insertrs = statement.executeUpdate(insertsql);
//            System.out.println(insertrs);

//            //删除
//            String delectsql = "delect from person where id =10086";
//            int delectrs = statement.executeUpdate(delectsql);
//            System.out.println(delectrs);

       } catch (ClassNotFoundException e) {
e.printStackTrace();
       } catch (SQLException e) {
e.printStackTrace();
       }
}
}


2.配置pom.xml和applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>cn.hbdfxy</groupId>
   <artifactId>OA</artifactId>
   <version>1.0-SNAPSHOT</version>
   <dependencies>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
           <version>5.0.6.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-tx</artifactId>
           <version>4.3.7.RELEASE</version>
       </dependency>

       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.12</version>
       </dependency>

       <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.47</version>
       </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-jdbc</artifactId>
           <version>5.1.2.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>commons-logging</groupId>
           <artifactId>commons-logging</artifactId>
           <version>1.2</version>
       </dependency>

   </dependencies>
</project>

<?xml version="1.0" encoding="UTF-8"?>
<!--suppress ALL -->
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:context="http://www.springframework.org/schema/context"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context.xsd">

   <context:component-scan base-package="com.wxc"/>
   <context:property-placeholder location="classpath:db.properties"/>
   <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

       <property name="user" value="${jdbc.user}"></property>
       <property name="password" value="${jdbc.password}"></property>
       <property name="driverClass" value="${jdbc.driverClass}"></property>
       <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
   </bean>

   <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
       <property name="dataSource" ref="dataSource"></property>
   </bean>
   <!--配置事务管理器-->
   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
       <property name="dataSource" ref="dataSource"></property>
   </bean>

   <!--启用事务注解-->
   <tx:annotation-driven/>

3.创建person实体类(set,get方法太长,所以只截图了)


总结;

学的有点迷糊,jbdcutil.Java的编写浪费了很多时间


遇到问题:

1.jbdcutil.Java中删除和update语句有问题,暂时先注释掉了

2.编写代码出现错误,

String url = "jdbc:mysql://127.0.0.1:3306/mytest?characterEncoding=UTF-8";

中把数据库名称写成表名了,导致连接失败,在师兄帮助下解决,

代码不规范,没有见名知义,后修改;

3.配置applicationContext.xml时出现大面积爆红,后在其他师兄日报下找到解决方法,改正后

还有报错

事物注解启用爆红,暂时无法解决


明天要做的事情

解决今天的问题

继续完成任务一第17步,继续学习JdbcTemplate和Mybatis、spring,

编写单元测试的代码

练习debug,学着看报错信息和日志



返回列表 返回列表
评论

    分享到