使用MyBatis实现简单的增删改查(回显新增数据的id,必须是主键自增)

项目的框架(SE形式的)

添加用户:

  UserMapper接口:

 /**
       * 添加用户信息
       * @param user
       * @return
       */
      public int  addUser(User user);

UserMapper映射文件:

<!--若数据库支持主键自增,设置了useGeneratedKeys="true" keyProperty="id"  就可以将添加之后的id返回到传递的对象中去  -->
	<insert id="addUser"  useGeneratedKeys="true" keyProperty="id">
	   insert into user values(null,#{username},#{password},#{email})
	</insert>

测试代码:

 @Test
   public void t3() {
	   SqlSession session = sqlFa.openSession();   
	   UserMapper mapper = session.getMapper(UserMapper.class);
	   int user = mapper.addUser(new User(null,"798","asdf","sadf"));
	   System.out.println(user);
	   
	   session.commit();
	   
   }

删除,修改,一样没区别

查询:

          一个或多个对象:

 /**
       * 添加用户信息
       * @param user
       * @return
       */
      public int  addUser(User user);

 /**
       * 查询所有的用户信息
       * @return
       */
      public List<User> getUserAll();

        

<select id="getUserById" resultType="User">
	     select * from user where id=#{id} 
	 
	</select>
	

<select id="getUserAll" resultType="User">
	   select * from user 
	</select>

 注意:这里即使是查询多个他的返回值类型依然是对象,但是实际会返回一个List集合

@Test
   public void t1() {
	SqlSession session = sqlFa.openSession();   
	UserMapper mapper = session.getMapper(UserMapper.class);
	User user = mapper.getUserById(2);
	System.out.println(user);
	
	session.commit();
	
   }
  
   @Test
   public void t2() {
	   SqlSession session = sqlFa.openSession();   
	   UserMapper mapper = session.getMapper(UserMapper.class);
	    List<User> user = mapper.getUserAll();
	   System.out.println(user);
	   session.commit();
	   
	   
   }

MyBatis核心配置文件:

<?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"></properties>
<settings>
		<!-- 将下划线转换成驼峰命名 -->
		<setting name="mapUnderscoreToCamelCase" value="true" />
		<!-- 自动映射默认值PARTIAL NONE关闭自动映射 -->
		<setting name="autoMappingBehavior" value="PARTIAL" />

		<!-- 开启延迟加载 -->
		<setting name="lazyLoadingEnabled" value="true" />
		<!-- 设置加载的数据是按需还是全部 -->
		<setting name="aggressiveLazyLoading" value="false" />

	</settings>


<typeAliases><!-- 可以简写增删改的返回值类型 -->
   <package name="com.thekingqj.bean"/>
</typeAliases>

	<environments default="development">
		<environment id="development">
		    <!-- 事务管理器JDBC -->
			<transactionManager type="JDBC" />
			
			<dataSource type="POOLED">
				<property name="driver" value="${db.driver}" />
				<property name="url" value="${db.url}" />
				<property name="username" value="${db.username}" />
				<property name="password" value="${db.password}" />
			</dataSource>
		</environment>
	</environments>
	
<!-- 别名处理,这样在Mapper配置文件中返回值类型可以直接写类名了 -->
	<mappers>
	
	   <!-- 可以直接映射配置文件的名称 -->
		 <!-- <mapper resource="UserMapper.xml" />  -->
		
		<!--批量注册,这种方式要求SQL映射文件名必须和接口名相同并且在同一目录下  -->
		<mapper class="com.thekingqj.dao.UserMapper"/>
		<mapper class="com.thekingqj.dao.DeptMapper"/>
	</mappers>
</configuration>

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值