Java结构从入门到装逼, 数据库建表和CRUD操作

频道:新闻世界 日期: 浏览:275

1、新建学生表Java结构从入门到装逼, 数据库建表和CRUD操作

这节课咱们来把和数据库以及岔开jdbc相关的内容完结,首要,进行数Java结构从入门到装逼, 数据库建表和CRUD操作据库建表。数据库呢,咱们选用MySQL数据库,咱们能够经过navcat之类的管理工具来轻松建表。

首要,咱们得建一个数据库,姓名叫db_student。然后,开端建表:

表名为t_student,保存。

学生表建好之后,咱们开端测验详细的增修正查操作。

2、自定义jdbc结构 simple-jdbc

如图所示,simple-jdbc是我自己编写的一个jdbc结构,有点相似于spring-jdbc,选用DBCP数据源。目录结构如图所示,我现已把它打成了一个jar包,只需求在项目中引进即可。接下来,咱们需求装备没胸罩一下数据库的链接信息。

咱们新建一个源文件夹etc,里边写一个配里扎雷克斯置文件,姓名叫dbcpconfig.properties.留意哦,一定是叫这个姓名,由于我在simple-jdbc结构中就设置了默许去读取这个文件。

#衔接设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/db_student
username=root
password=123
#
initialSize=100
#最大衔接数量
maxActive=50
#
maxIdle=200
#
minIdle=5
#
maxWait=60000
#JDBC驱动树立衔接时顺便的衔接特点特点的格局有必要为这样:[特点名=property;]
#留意:"user" 与 "password" 两个特点会被明确地传递,因而这儿不需求包括他们。
connecti陆贝儿onProperties=useUnicode=true;characterEncoding=UTF8
#指定由衔接池所创立的衔接的主动提交(autfetishpapao-commit)状况。
defaultAutoCommit=true
#driver default 指定由衔接池所创立的衔接的只读(read-only)状况。
#假如没有设置该值,则“setReadOnly”办法将不被调用。(某些驱动并不支撑只读形式,如:Informix)
defaultReadOnly=
#driver default 指定由衔接池所创立的衔接的业务等级(TransactionIsolation)。
#可用值为下列之一:(概况可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=READ_UNCOMMITTED

对应的源码:

static {

try {

InputStream e = DBCP_source.class.getClassLoader().getResourceAsStream("dbcpconfig.pr378万天价茅台operties");

Properties 塞穴prop = new Properties();

prop.load(反黑任务第一部e);

ds = BasicDataSourceFactory.createDataSource(prop);

} ca乱文tch (Exception arg1) {

throw new ExceptionInInitializerError(arg1);

}

}

3、新增用蚌埠小姐户

现在咱们来测验新增用户的操作,建一个测验类:

由于咱们运用了simJava结构从入门到装逼, 数据库建表和CRUD操作ple-jdbc,所以咱们能够直接调用里边的save办法进行保存而不需求进行繁琐的jdbc操作。

在simple-jdbc中,有一个save办法,支撑你传入一个map,然后把对应的数据保存到某个数据库的某一张表中。(MySQL)

事例:

public class TestAdd {
public static void main(String[] args) {
瑷呦趴Map map = new HashMap();
map.put("id", "2018012101"); //学号
map.put("username", "zsf"); //账号
map.put("password", "123"); //暗码
map.put("name", "张三丰"); //姓名
map.put("sex", "男"); //性别
SimpleDao dao = new SimpleDao();
dao.save("db_student", "t_student", map);
System.out.println("保存成功!");
}
}

让咱们看一下这个办法:

dao.save("db_student", "t_student", map);

第一个参数是数据库称号,第二个参数是表名,第三个参数是载有数据的map。经过这个办法,咱们不需求任何繁琐的jdbc句子,就能完成数据新增的操作!是不是很便利?

作用:

假如咱们再次运转代码,就会报错:

com.mysql.jdbc.武侠之运朝兴起exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '2018012101' for key 'PRIMARY'

由于id是主键,所以刺进的时分是不允许重复的。

让咱们多换几个数据测验一下,加几条数据:

4、删去用户

simple-jdbc没有直接删去数据的办法,可是支撑用相似spring-jdbc的办法履行sql句子。比方:

public class TestDelete {
public static void main(String[] args) {

SimpleDao dao = new SimpleDao();
dao.update("delete from t_student where id = ?", 2018012102);
System.out.println李淑敏("删去成功!");
}
}

作用:

5、修正用户

修正数据,simple-jdbc供给了十分好用的办法,先来看一个详细比方:

public class TestModify {
public static void main(String[] args) {
Map map = new HashMap();
map.put("id", "2018012103"); //学号
map.put("username", "gj"); //账号
map.put("password", "123456"); rfc云财政//暗码
map.put("name", "郭靖"); //姓名
map.put("sex", "男"); //性别
SimpleDao dao = new SimpleDao();
dao十年戒马心孑立.update("db_student", "t_student", map, "id");
System.out.println("修正成功!");
}
}

如代码所示,比方我要修正郭靖的数据,将其暗码改为123456,就调用update办法。第一个参数是数据库称号,第二个参数是表名,第三个参数是载有数据的map,也便是修正后的数据。最终一个参数是主键,也便是说,依据什么字段信息来找到要修正的那一条数据?咱们要修正郭靖的数据,id是相同的,都是2018012103,所以主键字段便是id,咱们第四个参数就传一个“id”进去。

不需求任何繁琐的jdbc句子,你只需求一个map,搞定全部!

6、查询用户

查询用户我供给了多个接口:

1、queryForJsonObject

2、queryForJsonArray

3、queryForList

4、queryForMap

5、queryForBean

6、queryForString

7、queryForInt

8、queryForLong

9、queryForPage (分页数据)

每个办法看姓名就知道是干什么用的了,这儿咱们就看一下其间最难的分页查询。分页查询在jdbc操作中一向是个难点,可是假如Java结构从入门到装逼, 数据库建表和CRUD操作你运用我这个simple-jdbc结构,便是一句话的老公太小工作了。

比方:

public class TestQueryForPage {
public static void main(String[] args) {
String sql = "select * from t_student where 1=1 and sex = ?";
SimpleDao dao = new SimpleDao();
Map list = dao.queryForPage(sql, 1, 10, "男");
System.out.println(list);
}
}

如代码所示,我要查询出学生表中所有的男同胞哀羞,就用queryForPage办法,第一个参数是查询的sql语混沌神传奇句,第二个参数是第几页,第三个参数是每页多少行,之后是一个变长数组,对应sql句子中的 ?

作用:

{
total=2,
rows=[{"id":2018012101,"sex":"男","username":"zsf","name":"张三丰",Java结构从入门到装逼, 数据库建表和CRUD操作"password":"123"},
{"id":20Java结构从入门到装逼, 数据库建表和CRUD操作18012103,"sexJava结构从入门到装逼, 数据库建表和CRUD操作":"男","username":"gj","name":"郭靖","password":"123456"}]
}

分页阿标的一家人的成果集便是详细的列表加上总条数,于是乎,这样就完成了。

热门
最新
推荐
标签