一个简单例子:
User.java
package com.lx.bean;
public class User {
private int id;
private String name;
private int age;
public User() {
}
public User(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = 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;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
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.lx.test2.userMapper">
<!--
CRUD操作
-->
<insert id="addUser" parameterType="User">
insert into users(name,age) values(#{name},#{age})
</insert>
<delete id="deleteUser" parameterType="int">
delete from users where id=#{id}
</delete>
<update id="updateUser" parameterType="User">
update users set name=#{name},age=#{age} where id=#{id}
</update>
<select id="getUser" parameterType="int" resultType="User">
select * from users where id=#{id}
</select>
<select id="getAllUsers" resultType="User">
select * from users
</select>
</mapper>
conf.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>
<!--
添加文件
-->
<properties resource="db.properties"/>
<!--
取别名
-->
<typeAliases>
<!-- <typeAlias type="com.lx.test1.User" alias="_User"/> -->
<package name="com.lx.bean"/>
</typeAliases>
<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="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 添加映射文件 -->
<mapper resource="com/lx/test1/userMapper.xml"/>
<mapper resource="com/lx/test2/userMapper.xml"/>
<mapper class="com.lx.test2.UserOperation"/>
<mapper resource="com/lx/test3/orderMapper.xml"/>
</mappers>
</configuration>
查询所有的数据
添加下面:
<select id="getOrder" parameterType="int" resultMap="getOrder2Map">
select * from orders where id=#{id}
</select>
<!--
resultMap:数据库表与类之间的映射关系
id:对应主键
result:属性
-->
<resultMap type="Order" id="getOrder2Map">
<id property="id" column="id"/>
<result property="orderNo" column="order_no"/>
<result property="orderName" column="order_name"/>
</resultMap>
以上是采用的xml方式进行操作,下面通过注解方式操作:
package com.lx.test2;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.lx.bean.User;
/**
* 采用注解方式
* @author Administrator
*
*/
public interface UserOperation {
@Insert("insert into users(name,age) values(#{name},#{age})")
public void addUser(User user);
@Delete("delete from users where id=#{id}")
public void deleteUserById(int id);
@Update("update users set name=#{name},age=#{age} where id=#{id}")
public void updateUser(User user);
@Select("select * from users where id=#{id}")
public User getUserById(int id);
}
测试函数:
@Test
public void getUserById()
{
SqlSessionFactory factory = FactoryUtil.getFactory();
SqlSession session = factory.openSession();
UserOperation operation = session.getMapper(UserOperation.class);
User user = operation.getUserById(2);
System.out.println(user);
}