发表于: 2018-03-17 22:58:43

1 630


今日完成

回复:

与1L使用的是什么手法,还可以怎么做?

强制类型转换

 

Java中的方法进行类型转换,比如:

String——int:

int i=Integer.parseInt([String]);

Int i=Integer.valueOf(str).intValue();

说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。

int——String:

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

 

理解一行代码,首先需要具备什么?然后还需要怎么做才算吃透了这个知识点?

首先需要了解代码每个部分所代表的含义,再看这段代码实现了什么功能。吃透知识点的话天才靠天赋,否则就只有多多练习了。

排错的过程中我们可以学到什么?

可以从排错中学习到程序是怎么一步步运行


今天整合了spring和mybatis

项目结构

dao文件

@Repository
public interface UserDao {
void addUser(User user);
List<User> getAllUser();
void updateUser(User user);
void deleteUser(int id);
}

user Mapper映射文件

<mapper namespace="com.ycc.dao.UserDao">
   <insert id="addUser" parameterType="com.ycc.model.User" >
       insert into myuser(name,age,recommend) values(#{name},#{age},#{recommend})
   </insert>
   <select id="getAllUser" resultType="com.ycc.model.User">
       select * from myuser
   </select>
   <update id="updateUser" parameterType="com.ycc.model.User">
       update myuser set name=#{name},age=#{age},recommend=#{recommend} where id=#{id}
   </update>
   <delete id="deleteUser" parameterType="int" >
       delete from myuser where id=#{id}
   </delete>
</mapper>

User类省略

C3p0.xmldruid.xml分别是数据库连接池的配置文件,config.properties是数据库的连接信息。

Spring.xml配置文件如下:

<!-- 引入属性文件 -->
<context:property-placeholder location="classpath:config.properties" ignore-unresolvable="true" />
<!-- 自动扫描(自动注入) -->
<context:component-scan base-package="com.ycc.dao"/>
<!-- 开启注解 -->
<context:annotation-config />

<!-- 一、使用数据库连接池注册数据源,引入相关的配置文件 -->
<import resource="c3p0.xml"/>
<!-- 二、创建mybatis会话工厂 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
   <property name="dataSource" ref="dataSource"/>
   <property name="mapperLocations" value="classpath*:com/ycc/mapper/*Mapper.xml"/>
</bean>
<!-- 三、创建mybatis会话template -->
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
   <constructor-arg index="0" ref="sqlSessionFactory"/>
</bean>
<!-- 注册接口类的bean,使得程序中可以用注解方式获取 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
   <property name="basePackage" value="com.ycc.dao" />
</bean>

测试类

public class TestUser {
@Autowired
   UserDao userDao;

   @Test
   public void addUserTest() {
User user=new User();
       user.setName("火影忍者中文网");
       user.setAge(23);
       user.setRecommend("限价房");
       userDao.addUser(user);
       System.out.println(user);
   }

@Test
   public void getAllUser() {
List<User> listUser=userDao.getAllUser();
System.out.println(listUser);
   }
@Test
   public void updateUser() {
User user = new User();
       user.setName("gaigaigaigai");
       user.setAge(22);
       user.setRecommend("haoahaohao");
       user.setId(1);
       userDao.updateUser(user);
       System.out.println(user);
   }
@Test
   public void deleteUser() {
userDao.deleteUser(2);
   }
}

之前运行的时候报了错,原因是格式写错了

改为

运行结果


说一下,配置文件中用的几个标签

<context:component-scan base-package="com.ycc.dao"/>

表明com.ycc.dao包及其子包中,如果某个类的头上带有特定的注解

@Component,@Repository,@Service,@Controller,就会将这个对象作为Bean注册进Spring容器。

<context:annotation-config>

是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解。

 

<context:property-placeholder    

location="属性文件,多个之间逗号分隔"    

ignore-unresolvable="是否忽略解析不到的属性,如果不忽略,找不到将抛出异常"    

/>   提供了外在化参数配置的方式,比如db.properties


<context:spring-configured/>

Spring可以为IOC容器里的bean进行依赖注入,但如果某些类,没有配置在IOC里,比如一些Domain Object,是否也可以依赖注入?答案是肯定的

以User 为例,该User并没有配置在IOC理,但我想对其里面的一个UserDao进行依赖注入,其代码如下:

  

 @Configurable(autowire = Autowire.BY_NAME, dependencyCheck = false) 

    public class User { 

          private String UserName; 

          .... 

          private  UserDao userDao; 

         ... 

          @Autowired 

          public void setUserDao〔UserDao userDao〕{ 

                 this.userDao=userDao. 

         }

    } 


遇到的问题

刚开始不理解,spring怎么和mybatis整合的,后来根据教程写了个例子,实现以后跟着程序的思路去理解,慢慢的就掌握了一部分。

明日计划

看看ssm框架,学习junit和打印日志

收获

学习了怎么整合spring+mybatis


返回列表 返回列表
评论

    分享到