spring+springMVC+mybatis框架搭建(下篇)

Mybatis框架搭建(续)

4.mybatis

在这里插入图片描述

在这里插入图片描述

  • applicationContext.xml中添加mybatis配置

代码如下:

<!-- 配置 MyBatis的工厂 -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
	<!-- 数据源 -->
	<property name="dataSource" ref="dataSource" />
	<!-- 配置MyBatis的核心配置文件所在位置 -->
	<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
<!-- 接口开发,扫描 com.zq.dao包 ,写在此包下的接口即可被扫描到 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<property name="basePackage" value="com.zq.dao" />
</bean>

  • 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>
	<!-- 别名定义,自动将报下面的类命名别名,首字母小写 -->
	<typeAliases>
		<package name="com.zq.model" />
	</typeAliases>
</configuration>

5.src下面创建新包,添加UserDao.xml和UserDao.java

  • UserDao.xml

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.zq.dao.UserDao”>

sql语句

<select id ="list" parameterType="user" resultType="user">
	select * from user 
	where username =#{username} and pwd =#{pwd}
	</select>
</mapper>
  • UserDao.java
package com.xx.dao;

import java.util.List;

import com.za.model.User;

public interface UserDao {
   public List<User> list(User user);
   
}

6. log4J和事务配置

  • src下面创建:log4j.properties
# Global logging configuration
log4j.rootLogger=ERROR, stdout
# stdout为输出模式的名字
# MyBatis logging configuration...
log4j.logger.com.zq=DEBUG
# 日志打印的位置:控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# 打印日志的形式、格式
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

  • applicationContext.xml将事务改成xml配置的,完整的事务相关代码如下:
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>

<!-- 注册一下事务管理器的驱动 -->
<tx:annotation-driven transaction-manager="transactionManager" />

<!– 下面是新加的代码: -->
<!– 通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
     <tx:attributes>
	<!-- 传播行为 -->
	<tx:method name="create*" />
	<tx:method name="delete*" />
	<tx:method name="update*" />
     </tx:attributes>
</tx:advice>
<!-- 切面 -->
<aop:config>
    <aop:advisor advice-ref="txAdvice“ pointcut="execution(* com.zq.service.*.*(..))" />
</aop:config>

7.在数据库添加数据,设置属性,在src下建包并新建User.java

代码举例:

package com.xx.model;

public class User {
    private Integer id;
    private String username;
    private String pwd;
    private String realname;
    
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getRealname() {
		return realname;
	}
	public void setRealname(String realname) {
		this.realname = realname;
	}
}

8.src下面创建新包,添加UserService.java 和UserServiceImpl.java

  • UserService.java
package com.xx.service;

import java.util.List;

import com.xx.model.User;

public interface UserService {
	
		   public List<User> list(User user);
		   
		
}

  • UserServiceImpl.java
package com.xx.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.xx.model.User;
import com.xx.dao.UserDao;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
   private UserDao userDao;
	@Override
	public List<User> list(User user) {
		
		return userDao.list(user);
	}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值