第一個MyBatis小例子

本文主要記錄Mybatis的簡單使用,供自己日後查看,若有不盡不詳內容,不在本文考慮範圍內,但可以私下討論。

情景:利用Mybatis完成數據庫的增刪改查功能。

步驟:

1.在mysql創建用戶信息表:

 2.創建一個簡單的maven工程,添加所依賴jar包:

<dependencies>
    <!-- 添加Spring4.3.2的核心包 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.3.2.RELEASE</version>
    </dependency>
   <!-- 添加spring-context包 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.2.RELEASE</version>
    </dependency>
        <!-- 添加spring-tx包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.1.4.RELEASE</version>
        </dependency>
        <!-- 添加spring-jdbc包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.1.4.RELEASE</version>
        </dependency>
        <!-- 爲了方便進行單元測試,添加spring-test包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.1.4.RELEASE</version>
        </dependency>
        <!--添加spring-web包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.1.4.RELEASE</version>
        </dependency>
        <!--添加aspectjweaver包 -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.5</version>
        </dependency>
        <!-- 添加mybatis的核心包 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.8</version>
        </dependency>
        <!-- 添加mybatis與Spring整合的核心包 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.2</version>
        </dependency>
        <!-- 添加servlet3.0核心包 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.2-b01</version>
        </dependency>
        <!-- jstl -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!-- 添加mysql驅動包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.34</version>
        </dependency>
        <!-- 添加druid連接池包 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.12</version>
        </dependency>
        <!-- 添加junit單元測試包 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

  </dependencies>

3.創建User實體類(該類以及後面的類沒有填寫相關包名,也沒有導入相關包,根據情況自行添加,其中我的User、UserMapper類在src/main/java中,UserMapper.xml和mybatis-config.xml在src/main/resource中)

public class User {
	private int Id;
	private String name;
	
	public int getId() {
		return Id;
	}
	
	public void setId(int id) {
		Id = id;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	@Override
	public String toString() {
		return "User [Id=" + Id + ", name=" + name + "]";
	}
	
}

4.創建UserMapper

public interface UserMapper {
	
	int insertUser(User user);
	
	int deleteUser(int id);
	
	int updateUser(User user);
	
	User selectUserById(int id);

        List<User> selectAllUser();
}

5.在對應的UserMapper路徑下創建對應的Usermapper.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="com.tian.UserMapper">
	<insert id="insertUser">
		insert into user(name) values(#{name})
	</insert>
	
	<delete id="deleteUser">
		delete from user where id=#{id}
	</delete>
	
	<update id="updateUser">
		update user
		set name = #{name}
		where id = #{id}
	</update>
	
	<select id="selectUserById" resultType="User">
		select id,name from user where id = #{id}
	</select>

        <select id="selectAllUser" resultType="User">
		select id,name fro user
	</select>
</mapper>

6.創建全局配置文件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>
<settings>
	<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

<typeAliases >
	<package name="com.tian"/>
</typeAliases>

<environments default="development">

<environment id="development">

<transactionManager type="JDBC" />

<dataSource type="POOLED">

<property name="driver" value="com.mysql.jdbc.Driver" />

<property name="url" value="jdbc:mysql://localhost:3306/test" />

<property name="username" value="root" />

<property name="password" value="" />

</dataSource>

</environment>

</environments>

<mappers>

<mapper resource="com/tian/UserMapper.xml" />

</mappers>
</configuration>

7.編輯Main類運行

public class Main {
	public static void main(String[] args) throws Exception {
		Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
		reader.close();
		
		SqlSession sqlSession = sessionFactory.openSession();
		
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
		//查
		User user = userMapper.selectUserById(1);
		System.out.println(user);
		
		//增
		userMapper.insertUser(user);
		System.out.println(userMapper.selectAllUser());
		
		//刪
		userMapper.deleteUser(2);
		System.out.println(userMapper.selectAllUser());
		
		//改
		User user1 =new User();
		user1.setId(1);
		user1.setName("xxx");
		userMapper.updateUser(user1);
		System.out.println(userMapper.selectAllUser());
	}
}

8.實驗結果如下:

 

 

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