日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

详细整理分层开发步骤!

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详细整理分层开发步骤! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不點藍字,我們哪來故事?

一、創建數據庫,在數據庫中創建表

二、創建java項目(起名要有意義,eg:petSys)

三、在項目中新建包,包名為:cn.bdqn.petSys.entity

四、在cn.bdqn.petSys.entity包中新建實體類,實體類是根據數據表而來,一個表對應一個實體類,數據庫中的字段對應類中的屬性

五、選中項目,在項目中新建一個文件夾,起名為lib,將sqlserver的jar文件復制到該目錄下面,并且右擊該jar文件,選擇Build pathadd to build path.

六、新建包cn.bdqn.petSys.utils,在該包中新建一個BaseDao,用來連接數組庫,BaseDao的代碼如下:

public?class?BaseDao?{//連接數據庫public?Connection getConn(){Connection conn = null;try?{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName = petdb","sa","123456");} catch?(ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch?(SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return?conn;}//關閉連接public?void?closeConn(Connection conn,PreparedStatement pre,ResultSet rs){try?{if?(rs!=null) {rs.close();}if?(pre!=null) {pre.close();}if?(conn!=null) {conn.close();}} catch?(Exception e) {// TODO:?handle exception}}}

七、新建包cn.bdqn.petSys.dao,在包中新建接口,一個實體類對應一個接口,例如:ICatDao(起名規范:I+實體類名+Dao),在該接口中寫需要實現的功能接口

  • 增刪改,返回類型為int.參數類型為實體,例如:int addCat(Cat cat);

  • 根據編號查詢,返回類型為實體,參數類型為int,例如:Cat findCatById(int cid);

  • 查詢全部,返回類型為泛型集合(List<Cat>),例如:List<Cat> findCatAll();

  • 注意:除增刪改外,返回類型取決于查詢的結果集,如果返回1條以上的結果集,返回類型為List集合,如果返回1條結果集,返回類型為實體(Cat)

    例如:

    //根據編號查詢Cat findCatById(int?cid);//查詢全部List<Cat> findCatAll();//根據名稱模糊查詢List<Cat> findCatByName(String name);//根據姓名和密碼查詢Cat findCatByNameAndPass(String name,String pass);

    八、新建包cn.bdqn.petSys.dao.impl,)(該包為dao層的實現類所在的包),在包內新建實現類,CatDaoImpl,該類需要實現dao層的ICatDao,代碼如下:

    public?class?CatDaoImpl?implements?ICatDao?{BaseDao base = new?BaseDao();Connection conn = base.getConn();PreparedStatement pre = null;ResultSet rs = null;//添加@Overridepublic?int?addCat(Cat cat)?{String sql = "insert into cat values(?,?,?,?,?);";int?rel = 0;try?{pre = conn.prepareStatement(sql);pre.setInt(1,cat.getCid());pre.setString(2, cat.getCname());pre.setString(3,cat.getCpass());pre.setInt(4,cat.getClove());pre.setString(5, cat.getCsex());rel = pre.executeUpdate();} catch?(SQLException e) {e.printStackTrace();}return?rel;}//修改@Overridepublic?int?updateCat(Cat cat)?{String sql = "update cat set cname = ?,cpass = ?,clove = ? csex = ? where cid = ?";int?rel = 0;try?{pre = conn.prepareStatement(sql);pre.setString(1, cat.getCname());pre.setString(2,cat.getCpass());pre.setInt(3,cat.getClove());pre.setString(4, cat.getCsex());pre.setInt(5,cat.getCid());rel = pre.executeUpdate();} catch?(SQLException e) {e.printStackTrace();}return?rel;}//刪除@Overridepublic?int?delCat(Cat cat)?{String sql = "delete from cat where cid = ?";int?rel = 0;try?{pre.setInt(1,cat.getCid());rel = pre.executeUpdate();} catch?(SQLException e) {e.printStackTrace();}return?rel;}//根據編號查詢@Overridepublic?Cat findCatById(int?cid)?{// TODO Auto-generated method stubreturn?null;}//查詢全部@Overridepublic?List<Cat> findCatAll()?{return?null;}//根據名稱模糊查詢@Overridepublic?List<Cat> findCatByName(String name)?{String sql = "select * from cat where cname like ?";List<Cat> clist = new?ArrayList<Cat>();try?{pre = conn.prepareStatement(sql);pre.setString(1, "%"+name+"%");rs = pre.executeQuery();while(rs.next()){Cat cat = new?Cat();cat.setCid(rs.getInt(1));cat.setCname(rs.getString(2));cat.setCpass(rs.getString("cpass")); //或者3cat.setCsex(rs.getString("csex"));cat.setClove(rs.getInt("clove"));clist.add(cat);}} catch?(SQLException e) {e.printStackTrace();}finally{base.closeConn(conn, pre, rs);}return?clist;}//根據名稱和密碼查詢@Overridepublic?Cat findCatByNameAndPass(String name, String pass)?{// TODO Auto-generated method stubreturn?null;}}

    九、新建包cn.bdqn.petSys.service,在該包中新建接口,ICatService。此包為業務邏輯層的包,其中ICatService接口中的代碼如下:

    //添加int?addCat(Cat cat);//修改int?updateCat(Cat cat);//刪除int?delCat(Cat cat);//根據編號查詢Cat findCatById(int?cid);//查詢全部List<Cat> findCatAll();//根據名稱模糊查詢List<Cat> findCatByName(String name);//根據姓名和密碼查詢Cat findCatByNameAndPass(String name,String pass);

    十、新建包cn.bdqn.petSys.Service.impl,(該包中的類主要是實現cn.bdqn.petSysService包中的接口),在該包中新建類CatServiceImpl,該類中的代碼如下:

    public?class?CatServiceImpl?implements?ICatService?{ICatDao catDao = new?CatDaoImpl();@Overridepublic?int?addCat(Cat cat)?{// TODO Auto-generated method stubreturn?catDao.addCat(cat);}@Overridepublic?int?updateCat(Cat cat)?{// TODO Auto-generated method stubreturn?catDao.updateCat(cat);}@Overridepublic?int?delCat(Cat cat)?{// TODO Auto-generated method stubreturn?catDao.delCat(cat);}@Overridepublic?Cat findCatById(int?cid)?{// TODO Auto-generated method stubreturn?catDao.findCatById(cid);}@Overridepublic?List<Cat> findCatAll()?{// TODO Auto-generated method stubreturn?catDao.findCatAll();}@Overridepublic?List<Cat> findCatByName(String name)?{// TODO Auto-generated method stubreturn?catDao.findCatByName(name);}@Overridepublic?Cat findCatByNameAndPass(String name, String pass)?{// TODO Auto-generated method stubreturn?catDao.findCatByNameAndPass(name, pass);}}

    十一、新建包cn.bdqn.petSys.test包,該包中放置的是測試類,代碼如下:

    public?class?TestCat?{static?ICatService catService = new?CatServiceImpl();static?Scanner sc = new?Scanner(System.in);public?static?void?main(String[] args) {findCatAll();}//添加貓public?static?void?addCat(){System.out.println("請輸入編號:");int?cid = sc.nextInt();System.out.println("請輸入名稱:");String cname = sc.next();System.out.println("請輸入密碼:");String cpass = sc.next();System.out.println("請輸入親密度:");int?clove = sc.nextInt();System.out.println("請輸入性別:");String csex = sc.next();Cat cat = new?Cat();cat.setCid(cid);cat.setCname(cname);cat.setCpass(cpass);cat.setClove(clove);cat.setCsex(csex);int?rel = catService.addCat(cat);if(rel>0){System.out.println("添加成功");}else{System.out.println("添加失敗");}}//查詢全部public?static?void?findCatAll(){List<Cat> clist = catService.findCatAll();System.out.println("編號\t名稱\t密碼\t親密度\t性別\t");for(int?i = 0;i<clist.size();i++){System.out.print(clist.get(i).getCid()+"\t");System.out.print(clist.get(i).getCname()+"\t");System.out.print(clist.get(i).getCpass()+"\t");System.out.print(clist.get(i).getClove()+"\t");System.out.println(clist.get(i).getCsex());}}}

    往期精彩

    在操作復雜字符串時推薦使用正則表達式

    2020-09-13

    字符串的拼接方法我們選哪種合適?

    2020-09-11

    在String字符串運算過程中,試著換一下字符串的位置看看

    2020-09-10

    Java中的集合框架(一)

    2020-09-06

    開源日志工具log4j

    2020-09-05

    java中的異常(三)

    2020-09-04

    點分享

    點點贊

    點在看

    總結

    以上是生活随笔為你收集整理的详细整理分层开发步骤!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。