介绍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数据库的增删改查操作,让开发变得更加高效方便。