1.引入maven包 和 导入 sqljdbc包
<dependency> <groupId>org.apache.ibatis</groupId> <artifactId>ibatis-sqlmap</artifactId> <version>3.0-beta-10</version> </dependency>
sqljdbc官方地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=11774
下载地址: https://download.microsoft.com/download/A/F/B/AFB381FF-7037-46CE-AF9B-6B1875EA81D7/chs/sqljdbc_6.0.8112.100_chs.tar.gz
下载后解压后找到相应的文件 sqljdbc42.jar
然后在 File->Project Structure->Project Settings->Modules ->Dependencies
点击添加按钮 找到相应的 sqljdbc42.jar 包即可
2.在资源文件夹下,建立 jdbc.property 和 mybatis-config.xml
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://192.168.1.10:1433;DatabaseName=test
user=sa
password=devdevdev
<?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 resource="jdbc.properties"/> <environments default="development"> <environment id="development"> <!-- 事务管理器 --> <transactionManager type="JDBC" /> <!-- 配置数据源 --> <dataSource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${user}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <!-- 配置映射资源文件 --> <mappers> <mapper resource="Users.xml"/> </mappers> </configuration>
3.建立Users类
public class Users { //id private int id; //用户名 private String userName; //密码 private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Users() { } public Users(String name,String pwd) { this(0,name,pwd); } public Users(int id,String name,String pwd) { setId(id); setUserName(name); setPassword(pwd); } }
4.在资源文件夹下建立users.xml文件(暂时省略DAO层)
<?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="com.cnblog.g2.Users"> <!-- 查询全部用户 --> <select id="queryUsers" resultType="com.cnblog.g2.Users"> select * from tb_users </select> <!-- 按照ID查询 --> <select id="queryUsersId" parameterType="int" resultType="com.cnblog.g2.Users"> select * from tb_users where id=#{id} </select> <!-- 添加用户 --> <insert id="insertUsers" parameterType="com.cnblog.g2.Users" > insert into tb_users(username,password) values(#{userName},#{password})
<selectKey keyProperty="id" resultType="int" order="AFTER">
select @@identity
</selectKey>
</insert>
<!-- 修改用户 -->
<update id="updateUsers" parameterType="com.cnblog.g2.Users">
update tb_users set password=#{password} where id=#{id}
</update>
<!-- 删除用户 -->
<delete id="deleteUsers" parameterType="com.cnblog.g2.Users">
delete tb_users where id=#{id}
</delete>
</mapper>
5.实现 SQL Mapper对象
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.Reader;
import java.io.IOException;
public class SqlMapper { //创建SqlSessionFactory对象 private static SqlSessionFactory factory; static{ try { //获取配置文件资源 Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml"); //获取SqlSessionFactory对象 factory=new SqlSessionFactoryBuilder().build(resourceAsReader); } catch (IOException e) { e.printStackTrace(); } } /** * 获取SqlSession对象 */ public static SqlSession getSqlSession(){ return factory.openSession(); } /** * 关闭SqlSession对象 */ public static void closeSqlSession(SqlSession session){ if(null!=session){ //关闭Sqlsession对象 session.close(); } session=null; } }
6. 调用
public class App { public static void main( String[] args ) { SqlSession session = SqlMapper.getSqlSession(); List<Users> list = session.selectList("com.cnblog.g2.Users.queryUsers"); Users grace = new Users("Grace", "234"); int insertedRowCount = session.insert("com.cnblog.g2.Users.insertUsers", grace); //在这里新插入的Id被自动赋值到 grace对象里的Id里了(setId()方法) session.commit(); } }