JAVA中SSM框架的搭建实现CRUD操作可以分为以下几个步骤:
1. 搭建环境
首先,我们需要安装必要的软件和工具:
- JDK
- Maven
- Eclipse或IntelliJ IDEA
- Tomcat
- MySQL
并配置环境变量和路径。安装完成后,在Eclipse或IntelliJ IDEA中创建一个新的Maven项目。
2. 添加依赖
在pom.xml文件中,添加Spring、Spring MVC和MyBatis的依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
其中${spring.version}是Spring的版本号,可以根据需要修改。
3. 配置数据源
在src/main/resources目录下创建一个名为application.properties的文件,配置数据源:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
4. 配置MyBatis
在src/main/resources目录下创建一个名为mybatis-config.xml的文件,配置MyBatis:
<configuration>
<typeAliases>
<package name="com.example.demo.entity"/>
</typeAliases>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
其中com.example.demo.entity是实体类所在的包名,mapper/UserMapper.xml是MyBatis映射文件的路径。
5. 编写实体类和Mapper接口
在com.example.demo.entity包中创建一个名为User的类,用于表示数据库中的一条记录:
public class User {
private Long id;
private String username;
private String password;
// 省略getter和setter方法
}
在com.example.demo.mapper包中创建一个名为UserMapper的接口,定义CRUD操作:
public interface UserMapper {
List<User> findAll();
User findById(Long id);
void save(User user);
void update(User user);
void delete(Long id);
}
6. 编写Mapper映射文件
在src/main/resources/mapper目录下创建一个名为UserMapper.xml的文件,定义SQL语句:
<mapper namespace="com.example.demo.mapper.UserMapper">
<resultMap id="UserResultMap" type="User">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
<select id="findAll" resultMap="UserResultMap">
select * from user
</select>
<select id="findById" parameterType="Long" resultMap="UserResultMap">
select * from user where id = #{id}
</select>
<insert id="save" parameterType="User">
insert into user(username, password) values(#{username}, #{password})
</insert>
<update id="update" parameterType="User">
update user set username = #{username}, password = #{password} where id = #{id}
</update>
<delete id="delete" parameterType="Long">
delete from user where id = #{id}
</delete>
</mapper>
7. 编写Controller和View
在com.example.demo.controller包中创建一个名为UserController的类,用于处理用户请求:
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/list")
public String list(Model model) {
List<User> userList = userMapper.findAll();
model.addAttribute("userList", userList);
return "userList";
}
}
在src/main/resources/templates目录下创建一个名为userList.html的文件,用于展示用户列表:
<table>
<thead>
<tr>
<th>ID</th>
<th>Username</th>
<th>Password</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${userList}">
<td th:text="${user.id}"></td>
<td th:text="${user.username}"></td>
<td th:text="${user.password}"></td>
<td>
<a th:href="@{'/user/edit?id=' + ${user.id}}">编辑</a>
<a th:href="@{'/user/delete?id=' + ${user.id}}">删除</a>
</td>
</tr>
</tbody>
</table>
示例1:查询用户
在UserController中添加一个getUser方法,用于查询用户:
@GetMapping("/get")
@ResponseBody
public User getUser(Long id) {
return userMapper.findById(id);
}
在userList.html中添加一个查询按钮,使用Ajax向服务器发送GET请求,并将查询结果显示在网页上:
<script type="text/javascript">
function getUser() {
var id = $("#id").val();
$.get("/user/get", {id: id}, function(data) {
$("#username").val(data.username);
$("#password").val(data.password);
});
}
</script>
<input type="text" id="id"/>
<button onclick="getUser()">查询</button>
<input type="text" id="username"/>
<input type="text" id="password"/>
示例2:添加用户
在UserController中添加一个addUser方法,用于添加用户:
@PostMapping("/add")
@ResponseBody
public String addUser(User user) {
try {
userMapper.save(user);
return "success";
} catch(Exception e) {
return "error";
}
}
在userList.html中添加一个添加按钮,使用Ajax向服务器发送POST请求,并将执行结果显示在网页上:
<script type="text/javascript">
function addUser() {
var username = $("#username").val();
var password = $("#password").val();
$.post("/user/add", {username: username, password: password}, function(data) {
if(data == "success") {
alert("添加成功!");
} else {
alert("添加失败!");
}
});
}
</script>
<input type="text" id="username"/>
<input type="text" id="password"/>
<button onclick="addUser()">添加</button>
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA中SSM框架的搭建实现CRUD的方法 - Python技术站