发表于: 2018-03-14 11:13:24
2 667
今天(13日内容,因凌晨以后写的日报 上传较晚)完成的事情:
1、安装了IDEA,并创建maven项目。
2、在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下没有看到有Jar包。发现只是run了一次,没有进行提到的clean,install。
搜索后得知在view-tool window里点开mavenproject窗口,出现clean等选项。但是点击执行后出现“不能在1.5及以下版本中运行”的字样,在maven配置文件里手动添加JDK版本(当前安装的1.9)后解决。
.m2文件夹中看到生成的jar包,文件夹名称为最初设置的groupid。
3、编写DAO,分别JdbcTemplate和Mybatis连接数据库,注意使用JDBCTemplate的时候分离Interface和Imple,使用Mybatis的时候注意理解为什么不需要Impl,注意遵守命名规范。
(1)根据提到术语,稍微深入了解了下DAO、Jdbc。
DAO:个人理解比较浅显,指方便访问数据库、文件源的接口(查改的操作对象),并保障数据本身不会被用户直接接触。
Jdbc:Java端操作数据库的工具,用Java语言编写的类和接口组成。参照相关文章,自己写了一个JdbcDAO的连接程序,但是具体函数、类的意思不能很懂,看了forName等的源代码,现有水平不够。
package test;
public interface testDAO {
public void insert(int id,String name,long create_at,long update_at);
public void update(int id,String name,long update_at);
public void delete(String name);
public void select(String name);
}
package test;
import java.sql.*;
import java.util.*;
public class DAOImpl implements testDAO {
private PreparedStatement ps;
private Connection conn;
private ResultSet rs;
private Statement jobinfo;
long time =new java.util.Date().getTime();
public void insert(int id,String name,long create_at,long update_at){
String sql ="insert into xzy_test1.baomingtie(id,name,create_at,update_at) values (?,?,?,?)";
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "123123");
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
ps.setString(2, name);
ps.setLong(3, create_at);
ps.setLong(4, update_at);
System.out.println(ps.executeUpdate());
ps.close();
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
public void update(int id,String name,long update_at) {
String sql = "update xzy_test1.baomingtie set name=?,update_at=? where id=?";
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "123123");
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(3, id);
ps.setString(1, name);
ps.setLong(2, update_at);
System.out.println(ps.executeUpdate());
ps.close();
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
public void delete(String name){
String sql = "delete from xzy_test1.baomingtie where name=?";
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "123123");
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, name);
System.out.println(ps.executeUpdate());
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void select(String name){
String sql = "select * from xzy_test1.baomingtie where name= '"+name+"'";
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "123123");
jobinfo = conn.createStatement();
rs =jobinfo.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString("name")+rs.getInt("id"));
}
jobinfo.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package test;
public class test {
public static void main(String[] args){
long time =new java.util.Date().getTime();
testDAO job =new DAOImpl();
job.insert(3,"李四",time,time);
job.insert(4,"张三",time,time);
job.update(4,"王五",time);
job.delete("李四");
job.select("王五");
}
}
已经成功使用JDBC连接数据库并进行相应操作。
JdbcTemplate:涉及到Spring框架下的Jdbc,两者区别在师兄的文章里看了http://blog.csdn.net/qq_39651022/article/details/78478571。
遇到问题:
1、jdbc操作过程中try catch命令组和throw exception的作用没搞清楚,为何一定要抛出异常?
2、Maven项目中install提示版本过低。
明天任务:了解下Spring框架的意义,并建立Spring项目。学习IOC容器以及怎么配置spring文件。
评论