2013年7月29日
摘要: 三种日期格式: java.util.Datejava.sql.Date java.sql.Timestamp底下两个都是从上面那个继承的,java.util.Date既有日期又有时间,java.sql.Date只有日期没有时间,java.sql.Timestamp既有日期又有时间。当要把一个java.util.Date的东西存储到数据库中时,必须要用java.sql.Timestamp转换 阅读全文
posted @ 2013-07-29 18:54 凯特的宝贝世界 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 商品表中的字段包裹商品信息和categoryid若要在商品列表中显示出categoryname,有两种做法:第一种做法:拿到categoryid后再跟数据库连接一下,然后拿出categoryname此种做法连接了两次数据库,效率较低。第二种做法:前提:两个对象之间有关联关系,在从数据库中取一个对象时,将与其关联的所有对象都取出来在Product.java中有Category c;对象,在从数据库中取product时同时将c初始化了DAO的getProducts方法中:........String sql = "select product.id, product.name, prod 阅读全文
posted @ 2013-07-29 18:14 凯特的宝贝世界 阅读(372) 评论(0) 推荐(0) 编辑
  2013年7月26日
摘要: 在Form里面,可以使用post也可以使用get。它们都是method的合法取值。1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 4. get传送的数 阅读全文
posted @ 2013-07-26 11:19 凯特的宝贝世界 阅读(277) 评论(0) 推荐(0) 编辑
  2013年7月25日
摘要: 分页:select * from product limit 3, 2;从第三条往后取两条数据(不包括第三条,从1开始数起)String sql = "select * from product limit " + (pageNo-1)*pageSize + "," + pageSize;计算总共有多少页的算法:总记录数:totalRecords=select count(*) from tableName;总页数第一种算法:if(totalReocrds%pageSize!=0) tatalPages=totalRecords/pageSize+1;e 阅读全文
posted @ 2013-07-25 17:49 凯特的宝贝世界 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 在JSP中大部分都是由脚本小程序组成,所谓的脚本小程序就是里面直接包含了JAVA代码。在JSP中Scriptlet一共分为三种:·:定义局部变量,编写语句·:定义全局变量,可以编写类、方法·:表达式输出,专门输出变量或一个具体值1、此为最常见的Scriplet代码,代码如下:JSPDemo02.jsp:"+(++i)+"") ;%>发现,以上的程序无论怎么刷新页面,i的内容依然是11,是固定的,因为每次都重新声明了。2、一般情况下都会使用此Scriplet定义一个全局变量,全局变量是无论怎么刷新,都只声明一次,只有很少的情况下才 阅读全文
posted @ 2013-07-25 17:21 凯特的宝贝世界 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 1.Statement用于执行静态sql语句,在执行时,必须指定一个事先准备好的sql语句,也就是说sql语句是静态的。2.PrepareStatement是预编译的sql语句对象,sql语句被预编译并保存在对象中。被封装的sql语句代表某一类操作,语句中可以包含动态参数“?”,在执行时可以为“?”动态设置参数值。3.使用PrepareStatement对象执行sqll时,sql被数据库进行解析和编译,然后被放到命令缓冲区,每当执行同一个PrepareStatement对象时,它就会被解析一次,但不会被再次编译。在缓冲区可以发现预编译的命令,并且可以重用。所以PrepareStatement可 阅读全文
posted @ 2013-07-25 15:04 凯特的宝贝世界 阅读(328) 评论(0) 推荐(0) 编辑
  2013年7月24日
摘要: 当与数据库打交道,考虑到有各种各样的数据库,我们通常设计一个DAO接口与N个DAO类,DAO类实现DAO接口,在处理类中定义一个DAO接口,并在配置文件中设置这个接口使用的是哪个DAO类。此种方法也叫控制反转。当有好多接口时如UserDAO,CategoryDAO,ProductDAO时,我们通常设计一个DAO工厂FactoryDAO用来生产DAO(生产出来的DAO已经确定了是哪种数据库),这是一种设计模式,即工厂模式。编写处理类时通常使用单例模式,试想一下多个婆婆管理你,肯定烦得不行,故使用单例模式如ProductMgr中单例模式的使用如下:private static ProductMgr 阅读全文
posted @ 2013-07-24 19:05 凯特的宝贝世界 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 最近正在做一个有树状显示的小项目,在此将树状显示做一下小总结。1.从数据库中取出数据并按树形结构排好序Category中添加如下函数:public static List getCategorys(){List categorys = new ArrayList();categorys = CategoryDAO.getCategorys(categorys, 0);return categorys;}CategoryDAO中添加如下函数:public static List getCategorys(List categorys, int id) {Connection conn = nul 阅读全文
posted @ 2013-07-24 16:32 凯特的宝贝世界 阅读(658) 评论(0) 推荐(0) 编辑
  2013年7月22日
摘要: java连接mysql数据库的封装类public class DB {static {try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}}private DB() {}public static Connection getConn() {Connection conn = null;try{conn = DriverManager.getConnection("jdbc:mysql://localhost/myd 阅读全文
posted @ 2013-07-22 12:50 凯特的宝贝世界 阅读(291) 评论(0) 推荐(0) 编辑