how2j.cn

步骤 1 : DBUtil   
步骤 2 : DateUtil   

完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
DBUtil:数据库工具类,这个类的作用是初始化驱动,并且提供一个getConnection用于获取连接。 在后续的所有DAO中,当需要获取连接的时候,都采用这种方式进行。
数据库连接的参数,如数据库名称,账号密码,编码方式等都设计在属性上,便于统一修改,降低维护成本。
package tmall.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBUtil { static String ip = "127.0.0.1"; static int port = 3306; static String database = "tmall"; static String encoding = "UTF-8"; static String loginName = "root"; static String password = "admin"; static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException { String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s", ip, port, database, encoding); return DriverManager.getConnection(url, loginName, password); } public static void main(String[] args) throws SQLException { System.out.println(getConnection()); } }
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
DateUtil这个日期工具类主要是用于java.util.Date类与java.sql.Timestamp 类的互相转换。

因为在实体类中日期类型的属性,使用的都是java.util.Date类。
而为了在MySQL中的日期格式里保存时间信息,必须使用datetime类型的字段,而jdbc要获取datetime类型字段的信息,需要采用java.sql.Timestamp来获取,否则只会保留日期信息,而丢失时间信息。
package tmall.util; public class DateUtil { public static java.sql.Timestamp d2t(java.util.Date d) { if (null == d) return null; return new java.sql.Timestamp(d.getTime()); } public static java.util.Date t2d(java.sql.Timestamp t) { if (null == t) return null; return new java.util.Date(t.getTime()); } }
package tmall.util;

public class DateUtil {

	public static java.sql.Timestamp d2t(java.util.Date d) {
		if (null == d)
			return null;
		return new java.sql.Timestamp(d.getTime());
	}

	public static java.util.Date t2d(java.sql.Timestamp t) {
		if (null == t)
			return null;
		return new java.util.Date(t.getTime());
	}
}


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2022-07-07 请问这是不是就是JDBC?
庄胜文

请问这是不是就是JDBC?




1 个答案

how2j
答案时间:2022-08-01
-_- 不是有专门的jdbc教程吗。。



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2021-09-06 为什么关于时间的数据在bean类型中都用java.util.Date而不用java.sql.Date或者java.sql.Timestamp而是要用一个工具类去转换呢
0777777

为什么工具类来转换类型,而不是在写bean类型中直接用合适的类




1 个答案

how2j
答案时间:2021-09-15
因为平时开发都是用 java.util.Date , 而jdbc 对接数据库里的 日期类型就必须用 java.sql.Date ,所以只能这样写了呢



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2020-04-08 Date和TimeStamp
2020-01-20 为什么不使用连接池呢,比如Durid
2019-07-21 public static java.sql.Timestamp d2t(java.util.Date d)中的d2t是什么意思,为什么又出来java.util.data d?


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 16 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 实践项目-天猫整站J2EE-工具类 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图