-
@JDBC——JDBC简介——JDBC获取数据库连接 一、三步获取数据库连接(需要导入mysql-connector-java-5.1.7-bin的jar包) 1.加载驱动程序: Class.forName(driverClass) 加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver") 加载Oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver") ***注意:驱动是固定写法 2.获得数据库连接: DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc","root","root"); ***注释:其中jdbc:mysql表示jdbc连接mysql,127.0.0.1:3306为服务器地址和端口,imooc为数据库名称,root分别是用户名和密码 3.创建Statement对象: conn.createStatement();
查看全部 -
添加一个记忆变量previous,记录上一次进入的是哪一个分支<br>
通过定义Integer类型的变量step标记,从而添加相应的数据到数据库中<br> 注意:<br>
StringBulider创建一个内容可变的字符串,使用append()方法<br>
SimpleDateFormat("yyyy-MM-dd") 定义日期格式<br> Integer.valueof()将字符串类型转化为整型
日期格式强转: SimpleDateFormat sf=new SimpleDateFormat("格式") birthday=sf.parse(in);
查看全部 -
视图层设计:
查看全部 -
搭建控制层
public List<Goddess> query(List<Map<String,Object>> params) throws Exception{//按名查询多个女神
//3.通过数据库的连接操作数据库,实现增删查改
Connection conn=DBUtil.getConnection();
StringBuilder sb=new StringBuilder();
sb.append("select * from imooc_goddess where 1=1 ");
if(params!=null&¶ms.size()>0){
for(int i=0;i<params.size();i++){
Map<String,Object>map=params.get(i);
sb.append(" and "+map.get("name")+" "+map.get("rela")+" "+map.get("value"));
}
}
PreparedStatement ptmt=conn.prepareStatement(sb.toString());
System.out.println(sb.toString());
ResultSet rs=ptmt.executeQuery();
List<Goddess> gs=new ArrayList<Goddess>();
Goddess g=null;
while(rs.next()){
g=new Goddess();
g.setId(rs.getInt("id"));
g.setUser_name(rs.getString("user_name"));
g.setAge(rs.getInt("age"));
g.setSex(rs.getInt("sex"));
g.setBirthday(rs.getDate("birthday"));
g.setEmail(rs.getString("email"));
g.setMobile(rs.getString("mobile"));
g.setCreate_date(rs.getDate("create_date"));
g.setCreate_user(rs.getString("create_user"));
g.setUpdate_date(rs.getDate("update_date"));
g.setUpdate_user(rs.getString("update_user"));
g.setIsdel(rs.getInt("isdel"));
gs.add(g);
}
return gs;
}List<Map<String,Object>>params=new ArrayList<Map<String,Object>>();
Map<String,Object>map=new HashMap<String,Object>();
map.put("name", "user_name");
map.put("rela", "=");
map.put("value", "'小绿'");
params.add(map);
List<Goddess>result=ga.query(params);
for(Goddess result1:result){
System.out.println(result1.toString());
}查看全部 -
新增、修改女神的时候,传进来的是java.util.Date类型,需要转换java.sql.Date类型,但是往回转的时候,通过数据库传递出来java.sql.Date类型再转回到java.util.Date类型就不需要了
因为java.sql.Date是java.util.Date子集
数据库插入的时候 需要将java.utils.Date --->java.sql.Date
因为sql.Date是utils.Date的子集
(而数据库中的 java.sql.Date--->java.utils.Date 则不需要强转)
使用JDBC连接数据库需要四步,第一步加载驱动程序;第二步,连接数据库;第三步,访问数据库;第四步,执行查询;其中在第四步执行查询时,要用statement类的executeQuery()方法来下达select指令以查询数据库,executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。即语句:String sql="select * from"+tableName; ResultSet rs=s.executeQuery(sql);
查看全部 -
详细设计方案:
查看全部 -
@JDBC——JDBC简介——JDBC获取数据库连接 一、三步获取数据库连接(需要导入mysql-connector-java-5.1.7-bin的jar包)
加载驱动程序: Class.forName(driverClass) 加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver") 加载Oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver") ***注意:驱动是固定写法
获得数据库连接: DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc","root","root"); ***注释:其中jdbc:mysql表示jdbc连接mysql,127.0.0.1:3306为服务器地址和端口,imooc为数据库名称,root分别是用户名和密码
创建Statement对象: conn.createStatement();
查看全部 -
JDBC简介:
查看全部 -
JDBC各种连接方式的对比: 1、JDBC + ODBC桥的方式。特点:需要数据库的ODBC驱动,仅适用于微软的系统 这种方式,JDBC将调用传递给ODBC,然后ODBC再调用本地的数据库驱动代码。 2、JDBC + 厂商API的形式。特点:厂商API一般使用C编写 这种方式,JDBC将调用直接传递给厂商API的服务,然后在调用本地的数据库驱动。 3、JDBC + 厂商Database Connection Server + DataBase的形式。 特点:在JAVA与DATABASE之间架起了一台专门用于数据库连接的服务器(一般有数据库厂商提供) 这种方式,JDBC将调用传递给中间服务器,中间服务器再将调用转换成数据库能够被调用的形式,在调用数据库服务器。中间增设数据库服务器能够提升效率,但不如直接操作数据库便捷。 4、JDBC + DATABASE的连接方式。 特点:这使得Application与数据库分开,开发者只需关心内部逻辑的实现而不需注重数据库连接的具体实现。(没有中间环节,是推荐方式!)
查看全部 -
1.添加一个记忆变量previous,记录上一次进入的是哪一个分支<br> 2.通过定义Integer类型的变量step标记,从而添加相应的数据到数据库中<br> 注意:<br> StringBulider创建一个内容可变的字符串,使用append()方法<br> SimpleDateFormat("yyyy-MM-dd") 定义日期格式<br> Integer.valueof()将字符串类型转化为整型
查看全部 -
1.更改while(true)中的true,使用Scanner中的hasNext()方法,有输入值的时候就循环,没有输入值的时候不循环。 2.使用toUpperCase()方法,如果输入为小写的exit则转为大写;或者为EXIT的首字母,均实现退出操作 Scanner scan=new Scanner(System.in); while(scan.hasNext()){ String in=scan.next().toString(); if(OPERATION_EXIT.equals(in.toUpperCase())||OPERATION_EXIT.substring(0,1).equals(in.toUpperCase())){ System.out.println("您已成功退出。"); break; } }
查看全部 -
控制层:接受view层的行为(参数),对model层数据操作,model层数据反馈给c层,c再反馈给v层
查看全部 -
使用query(List<Map<String,Object>> params) 和 where 1=1; jdbc传参数过多的时候:用List<Map<String,Object>> params双泛型作为参数:<br> if(params!=null&¶ms.siaze()>0){<br> for(int i =0;i<params.size();i++){<br> Map<String,Object> map = params.get(i);<br> sb.append("and "+map.get("name")+" "+map.get("relation")+" "+map.get("value")");<br> }<br> }<br> 接下来在Action(main方法)中:<br> GoddessDao g = new GoddessDao();<br> List<Map<String,Object>> params = new ArrayList<Map<String,Object>>;<br> Map<String,Object> param = new HashMap<String,Object>();<br> params.put("name","user_name");<br> params.put("relation","=");<br> params.put("value","'小美'");--------注意如果值是字符串需要加上单引号区分字符串<br> List<Goddess> result = g.query(parms);
查看全部 -
新增、修改女神的时候,传进来的是java.util.Date类型,需要转换java.sql.Date类型,但是往回转的时候,通过数据库传递出来java.sql.Date类型再转回到java.util.Date类型就不需要了
因为java.sql.Date是java.util.Date子集
数据库插入的时候 需要将java.utils.Date --->java.sql.Date
因为sql.Date是utils.Date的子集
(而数据库中的 java.sql.Date--->java.utils.Date 则不需要强转)
查看全部 -
//通过静态方法,获取连接数据库的连接 Connection conn = DBUtil.getConnection(); //sql语句 String sql = "" + " insert into imooc_goddess " + " (user_name,sex,age,birthday,email,mobile, " + " create_user,create_date,update_user,update_date,isdel) " + " values("+ " ?,?,?,?,?,?,?,current_date(),?,current_date(),?);" ; //预编译sql语句 PreparedStatement ptmt = conn.prepareStatement(sql); ptmt.setString(1, g.getUser_name()); ptmt.setInt(2, g.getSex()); ptmt.setInt(3, g.getAge()); ptmt.setDate(4, new Date(g.getBirthday().getTime())); ptmt.setString(5, g.getEmail()); ptmt.setString(6, g.getMobile()); ptmt.setString(7, g.getCreate_user()); ptmt.setString(8, g.getUpdate_user()); ptmt.setInt(9, g.getIsdel()); ptmt.execute();
查看全部
举报