SSM--Spring整合Mybatis開發操作數據庫

一、現附上項目層級目錄以及所需要的jar包:

      

二、Spring核心配置文件、Mybatis核心配置文件以及日誌文件:

1.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"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
		
		<!-- 讀取db.properties -->
		<context:property-placeholder location="db.properties"/>
		
		
		<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		     <property name="driverClass" value="${jdbc.driver}"/>
		     <property name="jdbcUrl" value="${jdbc.url}"/>
		     <property name="user" value="${jdbc.username}"/>
		     <property name="password" value="${jdbc.password}"/>
		</bean>
		
		
		<!-- 配置mybatis sqlSessionFactory -->
		<bean id = "sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
		     <property name="dataSource" ref="dataSource"/>
		     <!-- 告訴spring mybatis核心配置文件的位置 -->
		     <property name="configLocation" value="classpath:sqlMapConfig.xml"/>
		</bean>
		
		
		<!-- mapper動態代理開發 -->
		<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
		   <!-- 注入sqlSessionFactory -->
		   <property name="sqlSessionFactory" ref="sqlSessionFactoryBean"/>
		   <!-- 配置接口 -->
		   <property name="mapperInterface" value="cn.skh.mapper.UserMapper"/>
		</bean>
		
		
		<!-- mapper動態掃描開發 -->
		<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		  <property name="basePackage" value="cn.skh.mapper"/>
		</bean>
 </beans>

2.Mybatis核心配置文件:

<?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>	
<!--        推薦使用package包的形式來配置別名
			包的形式會掃描主包及子包下的所有文件
			以對象類名爲別名 不區分類名的大小寫,推薦使用小寫
			在UserMapper.xml的返回值類型中或參數應用別名
	 -->
	<typeAliases>
		<!-- 	<typeAlias type="cn.skh.bean.User" alias="user"/> -->
		<package name="cn.skh.bean"/>
	</typeAliases>
	<mappers>
	  <package name="cn.skh.mapper"/>
	</mappers>
</configuration>

3.日誌文件:

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

三、JavaBean以及Mapper文件:

1.javaBean:

package cn.skh.bean;
/**
 * 需要注意的地方 bean中的屬性名稱要和數據庫中的屬性名稱相對性
 * 屬性和數據庫中字段的名稱要一樣 不能這個是name 那個是username
 * @author SKH
 *
 */
public class User {
     private int id;
     private String name;
     private String password;
     private String sex;
     private int uid;
     public int getUid() {
 		return uid;
 	}
 	public void setUid(int uid) {
 		this.uid = uid;
 	}
	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 String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", password=" + password + ", sex=" + sex + ", uid=" + uid + "]";
	}
	public User(int id, String name, String password, String sex, int uid) {
		super();
		this.id = id;
		this.name = name;
		this.password = password;
		this.sex = sex;
		this.uid = uid;
	}
	public User() {
		
	}
     
}

2.mapper.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="cn.skh.mapper.UserMapper"><!-- 可能會有多個mapper配置文件 相當於給mapper配置文件另起一個名字 -->
 <!--  parameterType 爲sql語句中的參數類型
       resultType 查詢結果返回類型
  -->
 <select id="selectById" parameterType="int" resultType="user">
   select * from qwe where id = #{id} 
 </select>
  <insert id="insertOne" parameterType="user">
  
  
     insert into qwe values(#{id},#{name},#{password},#{sex},#{uid})
  
  </insert>
</mapper>

四、測試類:

package cn.skh.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.skh.bean.User;
import cn.skh.mapper.UserMapper;

public class MapperTest {
   @Test
	public void test() {
	   ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
       UserMapper mapper = ac.getBean(UserMapper.class);
       User user = mapper.selectById(0);
       System.out.println(user);
   }
   @Test
  	public void test2() {
	   User u = new User(20,"miku","mlfl","女",1);
  	   ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
         UserMapper mapper = ac.getBean(UserMapper.class);
         mapper.insertOne(u);
     }
}

test輸出:

test2()輸出:

 

都可以成功的對數據庫進行操作。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章