发表于: 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程序 是怎么回事了,不再像以前那样蒙了,虽然确实感觉有些浪费时间... 可能确实只适合我这种 笨笨 的小白 吧...
评论