SSM中MyBatis使用XML配置文件版和注解版(eclipse)

环境:JDK1.8、elipse

1.导入包

SSM中MyBatis使用XML配置文件版和注解版(eclipse)_第1张图片

2.创建实体类

当前User类中的内容:

public class User {
	private Integer uid;
	private String uname;
	private Integer money;
	....省略getter和setter方法
}

3.创建dao层以及对应的xml文件

UserMapper中的内容:

public interface UserMapper {
	List<User> findAll();
}

UserMapper.xml文件中的内容:




  

注意当前的UserMapper类和UserMapper.xml在同一目录

4.创建controller层

当前的UserController中的内容:

@Controller
public class UserController {
	@Autowired
	UserMapper userMapper;
	
	@RequestMapping("/findAll")
	public String index(Model model) {
		List<User> findAll = userMapper.findAll();
		model.addAttribute("items", findAll);
		return "index.jsp";
	}
}

5.在当前项目中添加applicationContext.xml文件

创建resources文件,并标记

当前的applicationContext.xml文件中的内容:



      
      
      
         
         
         
         
      
      
      
        
        
      
      
      
        
      
      
      
       
      
       
	   
      

当前的db.properties文件中的内容:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=root

6.配置web.xml文件


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>ssm-mybatis-xmldisplay-name>
  <welcome-file-list>
    <welcome-file>index.jspwelcome-file>
  welcome-file-list>
  <filter>
    <filter-name>encodingFilterfilter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
    <init-param>
      <param-name>encodingparam-name>
      <param-value>UTF-8param-value>
    init-param>
  filter>
  <filter-mapping>
    <filter-name>encodingFilterfilter-name>
    <url-pattern>/*url-pattern>
  filter-mapping>
  <servlet>
    <servlet-name>mvcservlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    <init-param>
      <param-name>contextConfigLocationparam-name>
      <param-value>classpath:applicationContext.xmlparam-value>
    init-param>
  servlet>
  <servlet-mapping>
    <servlet-name>mvcservlet-name>
    <url-pattern>/url-pattern>
  servlet-mapping>
web-app>

7.创建index页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<html>
<head>
<meta charset="UTF-8"/>
<title>Insert title heretitle>
head>
<body>
	<table border="1">
		<tr>
			<th>编号th>
			<th>姓名th>
			<th>金额th>
		tr>
		<c:forEach items="${items}" var="item">
			<tr>
				<td>${item.uid}td>
				<td>${item.uname}td>
				<td>${item.money}td>
			tr>
		c:forEach>		
	table>
body>
html>

8.启动和访问

结果成功!

9.使用mybatis注解版写sql

当前的UserMapper类中的内容:

public interface UserMapper {
	@Select("select * from users")
	List<User> findAll();
}

删除UserMapper.xml文件

10.启动和访问

结果成功!

11.总结

1.使用SqlSessionFactoryBean中的basePackage用于处理当前的dao层和xml之间的管理,并创建对应的dao的代理

2.当前的dao文件和xml的文件名称必须一致

3.使用MapperScannerConfigurer中的typeAliasesPackage用来做别名映射

4.使用注解版的Mybatis的时候,直接删除xml文件,直接写@Select等注解,其余不变即可!

5.再次编写SSM项目并且使用xml注解配置还是那么熟悉,写当前的demo用于回忆作用,免得以后忘记

以上纯属个人见解,如有问题请联系本人!

你可能感兴趣的:(SSM中MyBatis使用XML配置文件版和注解版(eclipse))