基于JFinal框架的MS SQL数据库操作

介绍JFinal框架

JFinal是一种基于Java语言的MVC web框架,它具有高效率、优美设计的特点。除此之外,JFinal框架还有许多特色功能,比如:极简主义设计、热加载、强大的插件体系、ActiveRecord、FreeMarker模板引擎等等。

MS SQL数据库操作

在JFinal框架中使用MS SQL服务器进行数据库操作,首先需要在项目中引入MS SQL的JDBC驱动。

com.microsoft.sqlserver

mssql-jdbc

8.2.0.jre11

配置MS SQL数据库连接

在项目的配置文件中,按照如下方式配置MS SQL数据库连接:

# MS SQL Config

msSql.jdbcUrl = jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_test

msSql.user = root

msSql.password = root

msSql.driverClass = com.microsoft.sqlserver.jdbc.SQLServerDriver

在以上配置中,msSql是连接MS SQL数据库的标识符,需要在后续操作中使用,并且应根据实际的数据库配置进行修改。

使用ActiveRecord进行数据库操作

在JFinal中,可以通过ActiveRecord(一种ORM框架)将Java对象映射到数据库表中,从而简化数据访问。

首先,需要创建一个Java Bean来映射表结构。例如,假设我们有一个表的结构如下:

CREATE TABLE `users` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(100) NOT NULL,

`age` int(11) NOT NULL DEFAULT '0',

`gender` char(1) DEFAULT NULL,

`email` varchar(100) DEFAULT NULL,

`phone` varchar(50) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

则可以创建一个Java Bean来映射以上结构:

public class User extends Model {

public static final User dao = new User().dao(); // userDao对象

public Integer getId() {

return getInt("id");

}

public void setId(Integer id) {

set("id", id);

}

public String getName() {

return getStr("name");

}

public void setName(String name) {

set("name", name);

}

public Integer getAge() {

return getInt("age");

}

public void setAge(Integer age) {

set("age", age);

}

public String getEmail() {

return getStr("email");

}

public void setEmail(String email) {

set("email", email);

}

public String getPhone() {

return getStr("phone");

}

public void setPhone(String phone) {

set("phone", phone);

}

public String getGender() {

return getStr("gender");

}

public void setGender(String gender) {

set("gender", gender);

}

}

Java Bean中需要继承Model,并且在类中定义一个dao对象,它是一个静态变量,并且用于操作数据库表。

使用以上Java Bean可以进行简单的MS SQL数据库操作。例如,插入一条记录可以使用如下代码:

User user = new User();

user.setName("张三");

user.setAge(20);

user.setGender("M");

user.setEmail("zhangsan@qq.com");

user.setPhone("123456789");

user.save();

以上代码将创建一个新的Java Bean对象,并将其保存到数据库中。使用类似的方式,还可以进行其他的数据库操作,比如:

查询:

//查询所有记录

List users = User.dao.find("select * from users");

//根据id查询

User user = User.dao.findById(1);

//sql条件查询

List list = User.dao.find("select * from users where age > ? and gender = ?", 18, "M");

//通过条件查询单个记录

User user = User.dao.findFirst("select * from users where age > ? and gender = ?", 18, "M");

更新:

User user = User.dao.findById(1);

user.setName("李四");

user.setAge(30);

user.update();

删除:

User user = User.dao.findById(1);

user.delete();

使用Db+Record进行数据库操作

除了使用ActiveRecord之外,还可以使用Db+Record的方式进行MS SQL数据库操作。

使用Db+Record的方式,需要引入JFinal的Db库。在pom.xml文件中加入以下内容:

com.jfinal

jfinal-db

4.7

然后,可以通过如下方式进行数据库操作:

插入:

Record user = new Record().set("name", "张三").set("age", 20).set("gender", "M").set("email", "zhangsan@qq.com").set("phone", "123456789");

Db.use("msSql").save("users", user);

查询:

//查询所有记录

List userList = Db.use("msSql").find("select * from users");

//按照条件查询

List userList = Db.use("msSql").find("select * from users where age > ? and gender = ?", 18, "M");

//查询单个记录

Record user = Db.use("msSql").findFirst("select * from users where age > ? and gender = ?", 18, "M");

更新:

Record user = Db.use("msSql").findById("users", "id", 1).set("name", "李四").set("age", 30);

Db.use("msSql").update("users", "id", user);

删除:

Db.use("msSql").deleteById("users", "id", 1);

结论

以上是JFinal框架下使用MS SQL服务器进行数据库操作的方法。无论是使用ActiveRecord还是Db+Record,都可以轻松实现对MS SQL数据库的增删改查操作,让开发变得更加高效方便。

数据库标签