在IntelliJ IDEA上使用Maven搭建SSM框架(二)
来源:互联网 发布:nginx 返回数据截断 编辑:程序博客网 时间:2024/06/06 17:19
1.配置MyBatis
首先在MySQL数据库中创建简单测试的数据库
然后在项目src/main/java上新建一个实体的包: org.first.entity 和dao层的包:org.first.dao
在entity包下创建实体类,User.java (实体类名与表名一致)
public class User { private int id; private String name; private int sex; private Date createTime; 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 getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", sex=" + sex + ", createTime=" + createTime + '}'; }}在dao包中创建Dao接口,UserDao.java
public interface UserDao { /** * 根据偏移量查询用户列表 * @param offser * @param limit * @return */ List<User> queryAll(@Param("offset") int offser,@Param("limit") int limit); int insertUser(User user);}
在src/main/resources下创建MyBatis配置文件mybatis-config.xml 和 mapper包(存放MyBatis的SQL映射)
打开MyBatis的官方文档 点击打开链接
选择入门标签,找到MyBatis全局配置 复制dtd 到 mybatis-config.xml 中开始配置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> <!-- 配置全局属性 --> <settings> <!-- 使用jdbc的getGeneratedKeys 获取数据可自增主键值 --> <setting name="useGeneratedKeys" value="true"/> <!-- 使用列别名替代列名 默认:true --> <setting name="useColumnLabel" value="true"/> <!-- 开启驼峰命名转换:Table(create_time)-> Entity(createTime) --> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings></configuration>
使用mapper实现Dao接口,在mapper包下创建 UserDao.xml,在官方文档xml配置找到他的事例,复制dtd
<?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="org.first.dao.UserDao"> <!-- 为DAO接口方法提供SQL语句配置 --> <!-- 根据方法选择标签update,delete,select,insert--> <select id="queryAll" resultType="User"> select id,name,sex,create_time from user order by create_time desc limit #{offset},#{limit} </select> <insert id="insertUser" parameterType="User"> insert into user (id,name,sex,create_time) values (#{id},#{name},#{sex},now()) </insert></mapper>
namespace为Dao的路径,id为Dao的方法名,resultType为返回值类型,parameterType为传入参数类型
2.MyBatis整合Spring
实现更少的编码,只写接口,不写实现。在src/main/resources下创建jdbc.propertiesdriver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8username=你的用户名password=你的密码在src/main/resources下创建spring包,并创建spring-dao.xml 配置所有dao相关的配置查看spring的官方文档:(根据自己的版本号选择)选择pdf查看官方文档,编写xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 配置整合MyBatis --> <!-- 1:配置数据库相关参数 --> <context:property-placeholder location="classpath:jdbc.properties" system-properties-mode="FALLBACK"/> <!-- 2:数据库连接池 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- 配置连接池属性 --> <property name="driverClass" value="${driver}"/> <property name="jdbcUrl" value="${url}"/> <property name="user" value="${username}"/> <property name="password" value="${password}"/> <!-- c3p0连接池的私有属性 --> <property name="maxPoolSize" value="30"/> <property name="minPoolSize" value="10"/> <property name="autoCommitOnClose" value="false"/> <property name="checkoutTimeout" value="1000"/> <!-- 当获取连接失败重试次数 --> <property name="acquireRetryAttempts" value="2"/> </bean> <!-- 3:配置SQLSessionFactory对象 --> <bean id="sqlSessionFactroy" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 注入数据库连接池 --> <property name="dataSource" ref="dataSource"/> <!-- 配置MyBatis全局配置文件:mybatis-config.xml --> <property name="configLocation" value="classpath:mybatis-config.xml"/> <!-- 扫描entity包 使用别名 --> <property name="typeAliasesPackage" value="org.first.entity"/> <!-- 扫描sql配置文件:mapper需要的xml文件 --> <property name="mapperLocations" value="classpath:mapper/*.xml"/> </bean> <!-- 4:配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 注入SQLSessionFactory --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactroy"/> <!-- 给出需要扫描Dao接口包 --> <property name="basePackage" value="org.first.dao"/> </bean></beans>
注意:jdbc.properties中的username会从系统环境中读取用户名,据我所知有两种解决方法:(1)修改jdbc.properties中的username为jdbc.username(2)在spring-dao.xml的context标签中添加system-properties-mode="FALLBACK"我在该例中使用的是第二种方法。可自行用junit测试。@RunWith(SpringJUnit4ClassRunner.class)/*junit加载spring配置文件*/@ContextConfiguration({"classpath:spring/spring-dao.xml"})public class UserDaoTest { @Resource private UserDao userDao; @Test public void queryAll() throws Exception { List<User> users=userDao.queryAll(0,5); for(User user:users){ System.out.println(user); } } @Test public void insertUser() throws Exception { User user=new User(); user.setName("小花"); user.setSex(0); int result=userDao.insertUser(user); System.out.println(result); }}
0 0
- 在IntelliJ IDEA上使用Maven搭建SSM框架(二)
- 在IntelliJ IDEA上使用Maven搭建SSM框架(一)
- 在IntelliJ IDEA上使用Maven搭建SSM框架(三)
- 使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)框架
- 使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)框架
- MAVEN IDEA SSM框架搭建《二》
- 使用IDEA maven搭建SSM框架
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- javaweb学习(二)使用maven搭建SSM框架
- 使用idea搭建一个简单的SSM框架:(1)使用idea创建maven项目
- IntelliJ IDEA-搭建SSM框架步骤
- Hadoop之HDFS架构功能剖析说明
- Swiper实现图片滚动效果
- struts2与spring整合时提示无法注入bean的错误
- IOC,依赖倒置 (理解) Spring依赖注入的实现技术是:动态代理
- 剑指Offer——面试题22:栈的压入、弹出序列
- 在IntelliJ IDEA上使用Maven搭建SSM框架(二)
- Akka并发编程——1、Actor模型(一)
- dpdk issue
- 微服务架构的分布式事务解决方案
- TCP/IP网络协议基础TCP/IP网络协议基础
- 第三方轮播图控件SliderLayout使用
- Android常见框架:启动页+ViewPager+Fragment+FragmentTabHost底部导航栏整合实现
- 两个List集合使用removeAll()方法遇到的坑,无法移除掉两个集合相同的数据。
- Docker 快速上手指南