版本锁定
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
|
DAO层存放接口
public interface IUserDo {
void saveUser(User user); }
|
main层存放对象
public class User implements Serializable { private String sex; private String username; private String address; private Date birthday;
public String getSex() { return sex; }
public void setSex(String sex) { this.sex = sex; }
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String getAddress() { return address; }
public void setAddress(String address) { this.address = address; }
public Date getBirthday() { return birthday; }
public void setBirthday(Date birthday) { this.birthday = birthday; }
@Override public String toString() { return "User{" + "sex=" + sex + ", username='" + username + '\'' + ", address='" + address + '\'' + ", birthday=" + birthday + '}'; } }
|
test层调用
public class test { private IUserDo userDo; private InputStream in; private SqlSession sqlSession;
@Before public void init()throws Exception{ in = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); sqlSession = factory.openSession(); userDo= sqlSession.getMapper(IUserDo.class); }
@After public void destroy()throws Exception{ sqlSession.commit(); sqlSession.close(); in.close(); }
@Test public void testSave(){ User user=new User(); user.setAddress("北京市"); user.setSex("男"); user.setBirthday(new Date()); user.setUsername("wo"); System.out.println("保存操作之前:"+user); userDo.saveUser(user); System.out.println("保存操作之后:"+user);
}
}
|
映射文件
<mapper namespace="io.likai.dao.IUserDo">
<insert id="saveUser" parameterType="io.likai.domain.User">
insert into user(username,address,sex,birthday)values(#{username},#{address},#{sex},#{birthday}); </insert> </mapper> namespace是dao层地址 id是接口名字 paramertype是主方法的地址
|
sql文件
<configuration> <environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=GMT"/> <property name="username" value="root"/> <property name="password" value="likai"/> </dataSource> </environment> </environments> <mappers> <mapper resource="io/likai/dao/User.xml"/> </mappers> </configuration>
|
常用注解
@Insert:实现新增
@Update:实现更新
@Delete:实现删除
@Select:实现查询
@Result:实现结果集封装
@Results:可以与
@Result一起使用,封装多个结果集
@ResultMap:实现引用
@Results定义的封装
@One:实现一对一结果集封装
@Many:实现一对多结果集封装
@SelectProvider: 实现动态SQL映射
@CacheNamespace:实现注解二级缓存的使用
注解的SqlMapConfig配置
<mappers> <package name="io.likai.dao"/> </mappers> 添加扫描位置
|