发表于: 2017-03-22 21:29:36

1 1332


今天完成的事情:

今天成功弄懂了并尝试着写了 DAO 
明天计划的事情:

1.复习之前所学的知识

2.完善DAO,并尝试运行,找出不足直到成功的运行. 

3.学习两个小时的基础知识

4.进行junit,按照任务指示继续完成任务.
遇到的问题:

这是我今天编写的DAO 

1.首先是 模型层的 实体参数部分的 部分截图:

后面的Gtters and Stters 通过 shift+alt+s 进行了 自动生成操作,太长了 就不截图了.  这一部分没有问题,但是 不太明白 Gtters and Stters 的具体含义和用法, 仅仅知道 , 他是DAO 分层操作中 不可缺少的的一部分, 大概是用来 定义变量 之类的 具体 不清楚.

2.紧接着是Interface部分:

     这一部分 相对好理解一点, 就是将你要进行操作的方法 写在接口中,方便调用,但同样,操作原理还是不清楚.知识知道 干嘛用的了.

3.impl 部分 :

这一部分我把它理解为 整合部分, 整合 前两层的东西,在这一层中进行调用结合 并且 进行代码编写. ,太长了 ,没办法截图.

package com.ptteng.JavaExercise;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

public class missionImpl implements mission

{

private final static String URL = "jdbc:mysql://localhost:3306/mysql";

private final static String USERNAME = "root";

private final static String PASSWORD = "123456";

private final static String DRIVER = "com.mysql.jdbc.Driver";

public boolean insert() 

{

// TODO Auto-generated method stub

boolean flag = true;

try

{

Class.forName(DRIVER);

Connection connection=DriverManager.getConnection (URL, USERNAME, PASSWORD);

String sql = "insert into 1stu(student_name,subject,update_at) values('李一龙',java,2017/3/22)";

Statement state=connection.createStatement();

int i  = state.executeUpdate(sql);

if(i<0)

{

flag = true ;

}else

 {

flag = false ;

 }

state.close();

connection.close();

System.out.println("insert success");

}

catch (ClassNotFoundException e)

{

e.printStackTrace();

}

catch (SQLException e)

{

e.printStackTrace();

}

return flag;

}

public boolean delete() {

// TODO Auto-generated method stub

boolean flag = true;

try  

{

Class.forName(DRIVER);

Connection connection=DriverManager.getConnection(URL,USERNAME,PASSWORD);

String sql="delete from 1stu where subject = '前端工程师'";

Statement state=connection.createStatement();

int i  = state.executeUpdate(sql);

   if ( i > 0)

   {

  flag = true;

   }else

    {

     flag = false ;

    }

   

state.close();

connection.close();

System.out.println("delete success");

}

catch (ClassNotFoundException e)

{

e.printStackTrace();

}

catch (SQLException e)

{

e.printStackTrace();

}

return flag;

}

public boolean update() {

// TODO Auto-generated method stub

boolean flag = true;

try  

{

Class.forName(DRIVER);

Connection connection=DriverManager.getConnection(URL,USERNAME,PASSWORD);

String sql="update 1stu set student_qq = 123456 where id = 1";

Statement state=connection.createStatement();

int i  = state.executeUpdate(sql);

   if ( i > 0)

   {

  flag = true;

   }else

    {

     flag = false ;

    }

   

state.close();

connection.close();

System.out.println("delete success");

}

catch (ClassNotFoundException e)

{

e.printStackTrace();

}

catch (SQLException e)

{

e.printStackTrace();

}

return flag;

}

public Mysql_1stu select() {

// TODO Auto-generated method stub

return null;

}


这一部分 每一行代码是干嘛的,弄清楚了,但是 有些地方为什么这么写还是 迷迷糊糊, 比较生;

比如:

Statement state=connection.createStatement() ,它是必不可少的 ,但我并不清楚他的具体含义, 从字面上理解

大概为 连接什么东西用?


前面的import 是 jar包里面的工具(大概是这个意思,具体名词我忘了),可以通过报错自动添加,或者写到后面它自己会生成.


前面增删改 相对简单一些, 但是 查询这一块 简单想了想 写了写 还是不能 写对, 应该 代码写起来不会特别复杂,  因为,它是直接从 实体参数中 查询的, 并且赶紧不需要 判断,  用一个变量 赋值之后 直接输出 这个变量,就是你想要的结果,但是具体怎么实现  脑子有点反应不过来.


别的 大问题 没有了, 以上是我 不太明白的一些地方,明天搞清楚吧.

收获:

自己简单整理了 一下 编写DAO的方法 不知道是否还有差错.

大概就是这些.



    1.今天算是粗略的 弄清楚了 DAO吧,  感觉还是需要多些多练, 特别是包括eclipse 的操作 也还要多学习,很多功能也是今天编写DAO时发现的.

    2.pom文件配置 简单学到了一点 , 先找到需要使用的JAR包,然后 编写导入 , 以供你的类使用. 

    3.之前学到的一点点皮毛,虽然用到的东西不多,但是确实 让我能够理解 DAO程序 是怎么回事了,不再像以前那样蒙了,虽然确实感觉有些浪费时间... 可能确实只适合我这种 笨笨 的小白 吧...



返回列表 返回列表
评论

    分享到