您好,登錄后才能下訂單哦!
MyBatis簡介
MyBatis 是一款優秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。
為了更方便的連接數據庫,將mybatis配置到springMVC中
1). 首先是jar包 多了3個jar druid 這個是阿里的數據庫連接包 mybatis和 mybatis-spring
2) 然后是項目目錄
3)在web.xml中 加上一個spring的配置文件
<context-param></context-param>
元素含有一對參數名和參數值,用作應用的servlet上下文初始化參數。參數名在整個Web應用中必須是惟一的。設定web應用的環境參數(context)
4)
spring-mvc的內容不變,spring-mybatis中的內容如下
<!-- MyBatis配置 這個就是spring和mybatis的整合 也就是spring-mybatis jar--> <bean id="mysqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--數據庫 多數據源配置多個--> <property name="dataSource" ref="mysqlDataSource" /> <!-- 自動掃描mapping.xml文件 --> <!-- 自動掃描entity目錄, 省掉xml里的手工配置 該屬性可以給包中的類注冊別名,注冊后可以直接使用類名,而不用使用全限定的類名--> <property name="typeAliasesPackage" value="com.springmvc.model" /> <!-- mysqlSqlSessionFactory會自動掃描該路徑下的所有文件并解析。--> <property name="mapperLocations"> <list> <value>classpath:/mybatis/*Mapper.xml</value> </list> </property> </bean> <!--會查找類路徑下的映射器并自動將它們創建成MapperFactoryBean --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="mysqlSqlSessionFactory"></property> <!-- 為映射器接口文件設置基本的包路徑 --> <property name="basePackage" value="com.springmvc.dao" /> <!-- 該屬性起到一個過濾的作用,設置該屬性,那么mybatis的dao接口 只有包含該注解 才會被掃描--> <property name="annotationClass" value="com.springmvc.base.JYBatis"/> </bean>
5) 自定義的JYBatis
/** * 標識MyBatis的DAO,方便{@link org.mybatis.spring.mapper.MapperScannerConfigurer}的掃描�?? * * 總的來說就是 target(接口) retention(java-class后依舊可用) document(包含在javadoc中) component(spring掃描) */ @Retention(RetentionPolicy.RUNTIME) //注解的生命周期 這個是最長的 jvm加載class文件之后,仍然存在 @Target(ElementType.TYPE) //注解修改目標 (這是個接口) 接口、類、枚舉、注解 @Documented //該注解將被包含在javadoc中 @Component //@Component泛指組件,當組件不好歸類的時候,我們可以使用這個注解進行標注。 public @interface JYBatis { String value() default ""; }
6) 數據庫連接參數 (這個根據自己本地的庫的名字和端口 來自己寫)
db.username=root db.password=123456 db.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 db.dirverClass=com.mysql.jdbc.Driver
這樣mybatis就整合到springmvc中了,下面做一個例子,往mysql中插入一條數據
1) 首先是jsp頁面
還在login.jsp中寫一個form
<form action="spring/student/testController" method="post"> <br />用戶名: <input type="text" name="name"> <br /> <br />年齡: <input type="text" name="age"> <br /> <br /> 老師: <input type="text" name="teacher"> <br /> <input type="submit" value="登錄"> </form>
2) model類 然后寫一個Student model類
//Alias是mybatis給當前model類起的別名 typeAlias @Alias("Student") public class Student { private int id; private String name; private int age; private String teacher;
3)StudentController類
@Controller @RequestMapping("/spring/student") public class StudentController { @Resource private StudentService ss; @RequestMapping(value="/testController") public String toPage(Student s){ System.out.println(s.toString()); s.setId(33); ss.save(s); return "success"; } }
4) StudentService StudentServiceImpl StudentDao
public interface StudentService { public void save(Student student); } //StudentServiceImpl 這里要加上注解 @Service("StudentService") public class StudentServiceImpl implements StudentService { @Autowired private StudentDao studentDao; @Override public void save(Student student) { studentDao.insert(student); }
StudentDao 要加上自定義注解 這里spring會自動為其創建bean
@JYBatis public interface StudentDao { public void insert(Student student); }
5) 最后是mybatis的xml文件 StudentMapper.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.springmvc.dao.StudentDao"> <!-- com.jy.entity.system.account.Account --> <!-- com.jy.entity.oa.leave.Leave --> <resultMap id="base" type="Student" > </resultMap> <select id="find" resultMap="base" parameterType="Student"> SELECT t.* FROM user1 t WHERE 1=1 <if test="id != null and id!='' "> AND t.id=#{id} </if> </select> <select id="count" resultType="int" parameterType="Student"> SELECT count(*) FROM user1 t WHERE 1=1 </select> <insert id="insert" parameterType="Student"> <![CDATA[ INSERT INTO user1( id, age, name, teacher ) VALUES ( #{id}, #{age}, #{name}, #{teacher} ) ]]> </insert> <update id="updateUserAssetInfo" parameterType="Map"> UPDATE user1 SET id=#{id}, age=#{age}, name=#{name}, teacher=#{teacher} WHERE id=#{id} </update> </mapper>
總結
以上所述是小編給大家介紹的如何將mybatis配置到springmvc中,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。