Mybatis:
mybatis是支持普通 SQL查詢,存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis 使用簡(jiǎn)單的 XML或注解用于配置和原始映射,將接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄。
Spring:
spring是J2EE應(yīng)用程序框架,是輕量級(jí)的IoC和AOP的容器框架,主要是針對(duì)javaBean的生命周期進(jìn)行管理的輕量級(jí)容器。
開(kāi)始整合spring和mybais
1.在IDEA中新建一個(gè)spring項(xiàng)目(或在Eclipse中建立一個(gè)web項(xiàng)目),需要導(dǎo)入如下jar文件。
將需要的jar包粘貼復(fù)制到lib下,復(fù)制完之后不能立馬使用,可以看到復(fù)制之后并沒(méi)有三角形符號(hào),需要到File--ProjectStructure--Libraries---添加
2.創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)(spring)和一個(gè)表(user)
3.在項(xiàng)目中進(jìn)行配置
model---User
package model;public class User {private int id;private String name;private int age;public int getId() { return id; }public void setId(int id) { this.id = id; }public String getName() { return name; }public void setName(String name) { this.name = name; }public int getAge() { return age; }public void setAge(int age) { this.age = age; } }
model--UserDao
package dao;import model.User;public interface UserDao { public User getUser(User user); public void addUser(User user); public void updateUser(User user); public void deleteUser(int UserId); }
model--Main
package model;import dao.UserDao;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {public static void main(String[] args){ User user=new User(); user.setId(1); user.setName("jane"); user.setAge(11); ApplicationContext ctx=new ClassPathXmlApplicationContext("ApplicationContext.xml"); UserDao userDao= (UserDao) ctx.getBean("userDao"); userDao.addUser(user); System.out.println("添加成功"); } }
4.spring配置文件--ApplicationContext.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><context:property-placeholder location="classpath:spring-jdbc.properties" /><!-- 配置數(shù)據(jù)源 --><bean id="jdbcDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" > <property name="username" value="${jdbc.user}"></property> <property name="password" value="${jdbc.password}"></property> <property name="driverClassName" value="${jdbc.driverClass}"></property> <property name="url" value="${jdbc.jdbcUrl}"></property></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="jdbcDataSource"></property> <property name="configLocation" value="classpath:mybatis-config.xml"></property></bean><bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value="dao.UserDao"></property> <property name="sqlSessionFactory" ref="sqlSessionFactory"></property></bean></beans>
spring-jdbc.properties
jdbc.user=root jdbc.password=12345jdbc.driverClass=com.mysql.jdbc.Driver jdbc.jdbcUrl=jdbc:mysql://localhost:3306/spring?useSSL=false
5.mybatis配置文件-mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><mappers> <mapper resource="UserDao.xml"/></mappers></configuration>
UserDao.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="dao.UserDao"><select id="getUser" parameterType="model.User" resultType="model.User"> SELECT * FROM user WHERE age=#{age}</select><insert id="addUser" parameterType="model.User" flushCache="true"> INSERT into user (id,name,age)VALUES (#{id},#{name},#{age})</insert><update id="updateUser" parameterType="model.User"> UPDATE SET user name=#{name} WHERE id=#{id}</update><delete id="deleteUser" parameterType="int"> DELETE FROM user WHERE id=#{id}</delete></mapper>
6.測(cè)試一下
運(yùn)行model--Main方法,可以看到數(shù)據(jù)庫(kù)中添加了一條記錄
標(biāo)簽: spring
http://www.cnblogs.com/lixuan1998/p/7145058.html