-
@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與數據庫分開,開發者只需關心內部邏輯的實現而不需注重數據庫連接的具體實現。(沒有中間環節,是推薦方式?。?/p>
查看全部 -
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();
查看全部
舉報