本篇文章介紹如何用mybatis鏈接SQLServer數據庫。java
一、在http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-express.aspx 下載SQL Server 2014 Express 免費版,用於學習用。mysql
而後,安裝並配置好默認管理員sa的密碼。spring
二、在Sql Server Configuration Manager裏面,將TCP/IP啓用,並重啓SQLServer。而後咱們能夠使用一些數據庫客戶端嘗試鏈接數據庫。
sql
三、在http://www.microsoft.com/zh-CN/download/details.aspx?id=11774 下載SQLServer 的jdbc驅動。裏面有簡單的例子和三個版本的jar包。數據庫
四、如今我拿到了一個spring+springmvc+mybatis的項目,以前這個項目使用的數據庫是mysql,如今我要換成SQLServer。 首先我將其中一個版本的jdbc.jar包引進項目中,這裏我使用的是sqljdbc4.jar。 (調試中出現 Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' 或Cannot create PoolableConnectionFactory (不支持此服務器版本。目標服務器必須是 SQL Server 2000 或更高版本。 等異常,那可能就是使用的jar包版本不對)express
而後修改jdbc.properties:服務器
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver url=jdbc\:sqlserver\://127.0.0.1\:1433;DatabaseName=bill user=sa password=
修改mybatis-config.xmlmybatis
<?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> <properties> <property name="dialect" value="sqlserver"/> </properties> </configuration>
修改這兩個文件就基本配好了,接着用junit調試一下。mvc
在AccountMapper.xml裏,寫入app
<?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="net.bill.modules.dao.AccountMapper"> <insert id="insert" parameterType="Account"> INSERT INTO b_account ( userId, password ) VALUES ( #{userId}, #{password} ) </insert> </mapper>
並創建相應的pojo和數據庫表。
在Test.java裏寫如下調試代碼:
package net.test.modules; import javax.annotation.Resource; import net.bill.modules.dao.AccountMapper; import net.bill.modules.pojo.Account; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations="/applicationContext.xml") public class BaseTest implements ApplicationContextAware{ public ApplicationContext ctxt; public void setApplicationContext(ApplicationContext arg0) throws BeansException { this.ctxt = arg0; } [@Resource](https://my.oschina.net/u/929718) private AccountMapper accountMapper; [@Test](https://my.oschina.net/azibug) public void testSql(){ accountMapper.insert(new Account("16", "haha")); } }
測試經過了。